Service和启动其他应用的功能和替换Fragment

Service后台奔溃

1.启动

        Intent intent = new Intent(this, SpotLightService.class);this.startService(intent); //这个普通启动会在低内存的时候被杀掉//普通的启动修改成前台启动this.startForegroundService(intent);

2.修改SERVICE

    @Overridepublic int onStartCommand(Intent intent, int flags, int startId) {int startResult = super.onStartCommand(intent,flags,startId);startForeground();return START_STICKY;}private void startForeground() {final NotificationManager noMan = getSystemService(NotificationManager.class);noMan.createNotificationChannel(new NotificationChannel(NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_ID,NotificationManager.IMPORTANCE_DEFAULT));//Log.d(TAG, "Starting foreground. myUid=" + Process.myUid());startForeground(NOTIFICATION_ID,new Notification.Builder(this,NOTIFICATION_CHANNEL_I

根据包名启动应用

    public boolean startAPPFromPackageName( String pckName) {if (pckName.equals("acr.browser.lightning.activity.MainActivity") || pckName.equals("com.android.bthsrv.MainActivity")) {Intent intent = new Intent().setComponent(new ComponentName("com.viso.mdm" , pckName) );intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);sContext.startActivity(intent);}try {Intent intent = isexit(pckName);if (intent == null) {}intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION);sContext.startActivity(intent);return true;} catch (Exception e) {e.printStackTrace();}return false;}public Intent isexit(String pk_name) {PackageManager packageManager = sContext.getPackageManager();Intent it = packageManager.getLaunchIntentForPackage(pk_name);return it;}

其中从最近任务栏进入wps如果不经过特殊处理则不能进入

        //判断是否为WPS,如果是WPS应用,通过任务ID启动,否则当有多个WPS任务时,会导致WPS报错if ("cn.wps.moffice_eng".equals(bean.getPackageName())) {ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);manager.moveTaskToFront(bean.getId(), ActivityManager.MOVE_TASK_WITH_HOME);} else {mRecentTaskHelper.startAppByClassName(this, bean.getPackageName(), bean.getClassName());}
//获取最近任务栏应用List<ActivityManager.RecentTaskInfo> appTasks = activityManager.getRecentTasks(Integer.MAX_VALUE, ActivityManager.RECENT_IGNORE_UNAVAILABLE);if (appTasks == null || appTasks.size() == 0) {emitter.onNext(taskList);return;}for (ActivityManager.RecentTaskInfo taskInfo : appTasks) {ResolveInfo resolveInfo = packageManager.resolveActivity(taskInfo.baseIntent, 0);String packageName = resolveInfo.activityInfo.packageName;//过滤不需要的应用if (!isNotShowApp(mContext, packageName)) {TaskBean bean = new TaskBean();bean.setName(resolveInfo.loadLabel(

System.currentTimeMillis()的时间会有误差,如果时区不同会造成误差,所以使用SystemClock.elapsedRealtime();是比较准确的做法

** 替换FragmentManager **

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.right_fragment, fragment);
transaction.addToBackStack(null);
transaction.commit();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity布料系统Cloth

Unity布料系统Cloth 介绍布料系统Cloth(Unity组件)组件上的一些属性布料系统的使用布料约束Select面板Paint面板Gradient Tool面板 布料碰撞布料碰撞碰撞适用 介绍 布料系统我第一次用是做人物的裙摆自然飘动&#xff0c;当时我用的是UnityChan这个unity官方自带的插件做的裙摆…

javaee ssm框架项目整合thymeleaf2.0 更多thymeleaf标签用法 项目结构图

创建ssmthymeleaf项目 创建ssmthymeleaf项目参考此文 thymeleaf更多常用标签 <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><title>Title</title> …

【前端设计模式】之组合模式

引言 组合模式是一种在前端开发中非常有用的设计模式&#xff0c;它可以帮助我们构建可扩展和灵活的应用。本文将探讨组合模式的特性、几个前端应用代码示例&#xff0c;以及它的优缺点。 在前端开发中&#xff0c;我们经常需要处理复杂的层次结构和嵌套关系。这时候&#xf…

Docker服务更新与发现

一&#xff0c;docker-consul简介 这是一个基于分布式的服务发现和管理工具&#xff0c;它具有快速构建分布式框架&#xff0c;提供服务发现和服务治理等特点。同时consul还提供了可靠的保证&#xff0c;多数据中心和强大的API以满足高可用&#xff0c;分布式环境下的需求。 …

【ccf-csp题解】第7次csp认证-第二题-俄罗斯方块-简单碰撞检测算法

题目描述 思路讲解 本题的主要思路是实现一个draw函数&#xff0c;这个函数可以绘制每一个状态的画布。然后从第一个状态往后遍历&#xff0c;当绘制到某一个状态发生碰撞时&#xff0c;答案就是上一个状态的画布。 此处的状态x实际就是在原来的15*10画布上的第x行开始画我们…

C++实现可变参数的日志打印vprintf

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言代码示例参考链接前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对C++实现可变参数的日志打印做个简单的…

docker网络管理与资源控制

目录 一、docker网络管理 1、Docker 网络实现原理 2、查看容器的输出和日志信息docker logs 容器的ID/名称 3、Docker 的网络模式&#xff1a; 4、网络模式详解 4.1&#xff0e;host模式 4.2&#xff0e;container模式 4.3. none模式 4.4&#xff0e;bridge模式 4.5&a…

你必须知道的数据查询途径!!

在当今信息爆炸的时代&#xff0c;我们每天都会面临海量的数据和信息。如何在这些繁杂的信息中快速、准确地找到自己需要的内容&#xff0c;也是当代一个非常重要的技能。下面&#xff0c;我将介绍几种你必须知道的企业数据信息查找途径。 ​ 1. 搜索引擎 搜索引擎是我们日常中…

OpenCV5-图像几何变换

OpenCV5-图像几何变换 1.图像连接2.图像尺寸变换3.图像翻转变换4.图像仿射变换5.图像透视变换6.极坐标变换 1.图像连接 图像连接是指将相同高度或者宽度的图像连接在一起。 vconcat()函数用于实现图像或矩阵的上下连接&#xff1a;上下连接的矩阵应该具有相同的列数&#xff…

智安网络|边缘计算与分布式存储:数字化时代的新趋势

随着数字化时代的到来&#xff0c;数据的产生和存储需求呈现爆炸式增长&#xff0c;传统的集中式存储架构已经无法满足大规模数据存储和处理的需求。分布式存储系统应运而生&#xff0c;成为应对数据存储和处理挑战的解决方案。然而&#xff0c;技术的发展不会止步于此&#xf…

点云直通滤波(附python open3d 代码)

定义了一个名为pass_through的函数,用于根据指定的过滤值名称(filter_value_name)对点云数据进行过滤。函数接受四个参数:点云数据(pcd),最小限制(limit_min)和最大限制(limit_max)以及过滤值名称(filter_value_name)。 在函数内部,首先将点云数据转换为NumPy数…

基于SSM的医用物理学实验考核系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

算法题:柠檬水找零(典型的贪心算法问题)

这道题就是纯贪心算法题&#xff0c;遍历每个顾客&#xff0c;先把钱收了&#xff0c;如果是10块钱就判断手里头有没有5元用于找零&#xff1b;如果是20块钱&#xff0c;先判断是不是有10元5元&#xff0c;如果没有就再判断是否有3个5元。没有的话就直接返回 False。(完整题目附…

CSP模拟51联测13 B.狗

CSP模拟51联测13 B.狗 文章目录 CSP模拟51联测13 B.狗题目大意题目描述输入格式输出格式样例样例 1inputoutput 思路 题目大意 题目描述 小G养了很多狗。 小G一共有 n n n\times n nn 条狗&#xff0c;在一个矩阵上。小G想让狗狗交朋友&#xff0c;一条狗狗最多只能交一个…

vue2项目中使用element ui组件库的table,制作表格,改表格的背景颜色为透明的

el-table背景颜色变成透明_el-table背景透明_讲礼貌的博客-CSDN博客 之前是白色的&#xff0c;现在变透明了&#xff0c;背景颜色是蓝色

加密市场波动:地缘政治与美股走弱引发不确定性!

伴随着国庆假期的结束&#xff0c;多日波动率维持低位的加密市场也似乎开始苏醒。近期多次突破28000美元未果的比特币&#xff0c;于9日15:00开始从27800美元附近下跌&#xff0c;最低跌至27260美元&#xff0c;同期以太坊也至1550美元左右&#xff0c;创近半个月来新低。 Coin…

vue接入高德地图获取经纬度

&#x1f90d;step1:高德地图开放平台&#xff0c;根据指引注册成为高德开放平台开发者&#xff0c;并申请 web 平台&#xff08;JS API&#xff09;的 key 和安全密钥; &#x1f90d;step2:在html引入安全密钥&#xff08;获取经纬度用&#xff0c;不然会报错&#xff09; <…

基于SpringBoot的大型商场应急预案管理系统

目录 前言 一、技术栈 二、系统功能介绍 员工信息管理 预案信息管理 预案类型统计 事件类型管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍…

手撕各种排序

> 作者简介&#xff1a;დ旧言~&#xff0c;目前大一&#xff0c;现在学习Java&#xff0c;c&#xff0c;c&#xff0c;Python等 > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;掌握每种排序的方法&#xff0c;理解每种排序利弊…

springboot-配置文件优先级

官方文档 https://docs.spring.io/spring-boot/docs/2.7.16/reference/htmlsingle/#features.external-config Spring Boot允许外部化配置&#xff0c;这样就可以在不同的环境中使用相同的应用程序代码。您可以使用各种外部配置源&#xff0c;包括Java属性文件、YAML文件、环境…