Android 9中实现应用开机自启动(前台服务的方式)
Android 9(P)中实现应用开机自启动(前台服务的方式)
文章目录
- Android 9(P)中实现应用开机自启动(前台服务的方式)
- 问题1:开机之后没有收到BOOT_COMPLETED广播
- 问题2:启动APP时直接报错
- 问题3:无法启动service
- 问题4: 广播中启动activity 出现错误
- 问题5:开机后屏幕熄灭状态下也无法启动后台service
- 写在最后
》大体思路:1.Android 系统开机后会发送一条广播<action android:name="android.intent.action.BOOT_COMPLETED"/>2.应用收到广播后,启动相应的应用即可
问题1:开机之后没有收到BOOT_COMPLETED广播
可能情况:1.没有添加权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />2.应用程序安装后,从未启动过,这种情况是接收不到任何广播的。3.没有ui的应用必须通过其他应用激活才能启动
解决方案:1.添加权限;2和3 直接将应用 放到/system/app目录下即可,这种状态下, 应用会被自动安装也会收到广播即使没有启动过另外把app 放到/system/app目录下运行可能会遇到问题,可参考:
问题2:启动APP时直接报错
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/system/app/xxxx.apk”],nativeLibraryDirectories=[/system/lib/xxxx, /system/app/xxxx.apk!/lib/armeabi-v7a, /system/lib, /system/lib]]] couldn’t find ‘xxx.so’
解决方案:参考
1.Android 运行崩溃找不到so包解决方案
2.Android 设备的CPU类型(通常称为”ABIs”)
问题3:无法启动service
java.lang.IllegalStateException: Not allowed to start service Intent
解决方案:参考
1.Android 8.0 后台执行限制
2.解决java.lang.IllegalStateException: Not allowed to start service Intent
3.Context.startForegroundService
问题4: 广播中启动activity 出现错误
java.lang.RuntimeException: Unable to start receiver com.aaa.bbb.BootBroadcastReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
解决方案:增加一个标志即可
intentActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
参考:Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity
问题5:开机后屏幕熄灭状态下也无法启动后台service
解决思路:收到广播后,将熄灭的屏幕点亮,如果有锁屏则在锁屏的之上启动应用
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setShowWhenLocked(true);setTurnScreenOn(true);getSystemService(KeyguardManager.class).requestDismissKeyguard(this, new KeyguardManager.KeyguardDismissCallback() {@Overridepublic void onDismissError() {super.onDismissError();}@Overridepublic void onDismissSucceeded() {super.onDismissSucceeded();}@Overridepublic void onDismissCancelled() {super.onDismissCancelled();}});
参考:
1.android唤起app并点亮屏幕、覆盖锁屏显示
2.Android 屏蔽系统锁屏的方法
3.Android锁屏状态下弹出activity
写在最后
记录一下我在实现一个自动APP时遇到的问题
Android 9中实现应用开机自启动(前台服务的方式)相关推荐
- Android实现应用程序的开机自启动
在Windows平台中我们一定知道很多程序会开机自启动,那么我们的android应用程序如何实现开机自启动的呢?其实非常的简单,只要用android的广播机制就可以了,因为当android系统启动的时 ...
- android软件自动启动软件下载,Android编程实现应用程序开机自启动的方法
本文实例讲述了Android编程实现应用程序开机自启动的方法.分享给大家供大家参考,具体如下: Android在开机时自动启动一个应用程序 在启动时自动启动一个应用程序: 1.AndroidManif ...
- 配置群晖NAS中的cpolar开机自启动 2-2
系列文章 做内网穿透外网远程访问群晖NAS 1-2 做内网穿透外网远程访问群晖NAS 2-2 如何在群晖NAS上安装cpolar内网穿透 配置群晖NAS中的cpolar开机自启动 1-2 配置群晖N ...
- 在linux中设置nexus开机自启动
本篇讲一下在linux中设置nexus开机自启动 关于 在linux中安装nexus可以看下我之前写的另外一篇文章: 在linux上搭建maven私服nexus和nexus的使用 一.把nexus配置 ...
- win10中设置程序开机自启动
win10中设置程序开机自启动
- android程序开机自启的方法,Android编程实现应用程序开机自启动的方法
本文实例讲述了Android编程实现应用程序开机自启动的方法.分享给大家供大家参考,具体如下: Android在开机时自动启动一个应用程序 在启动时自动启动一个应用程序: 1.AndroidManif ...
- linux设置开机自启服务,linux设置服务开机自启动的三种方式
linux设置服务开机自启动的三种方式 这里介绍一下linux开机自动启动的几种方法,共计3种,大家可以借鉴一下!经验里面以centos 5.3系统为例! 方法1:.利用ntsysv命令进行设置,利用 ...
- Android开发中怎样调用系统Email发送邮件(多种调用方式)
在Android中调用其他程序进行相关处理,几乎都是使用的Intent,所以,Email也不例外,所谓的调用Email,只是说Email可以接收Intent并做这些事情 我们都知道,在Android中 ...
- android中资源文件的两种访问方式,在android开发中进行数据存储与访问的多种方式介绍...
在android开发中进行数据存储与访问的多种方式介绍 更新时间:2013年06月07日 16:24:23 作者: 很多时候我们的软件需要对处理后的数据进行存储或再次访问,Android为数据存储 ...
- android studio中使用AIDL进行客户端与服务端互相通信
前言 在AIDL实现IPC通信,调用远程服务端的方法.但是,远程服务端并不能主动给客户端返回信息.在很多情况下是需要远程服务端主动给客户端返回数据,客户端只需要进行监听即可,这是典型的观察者模式.这篇 ...
最新文章
- Alsa中PCM参数设置
- apollo报:系统出错,请重试或联系系统负责人
- mysql5.7.17 win7_win7下mysql5.7.17安装配置方法图文教程
- 电脑按f8无法进入安全模式_自已有电脑的人,都会遇到系统死机问题,教大家实用一招自已解决...
- 网卡是如何将包转换成电信号并发送到网线中的
- 【OCM】Oracle OCM11g考场合影~keep人生中重要时刻
- Java 匿名内部类、Java 中 == 与 equals 的区别
- python 爬虫生成csv文件和图_Python简单爬虫导出CSV文件的实例讲解
- 商场客流量统计摄像头设备
- pc端html转换手机端,一种兼容PC端和手机端WEB界面的实现方法与流程
- LSMW 批量更改BOM 成本核算标识相关标识 特殊处理
- java获取西瓜视频的下载地址
- 虚拟屏幕与云计算————微软亚洲研究院
- java通过ip地址获取相应对应的城市
- 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?
- 如何使用 OpenShift Container Platform 的命令行工具 OC
- python 多线程卡死跳出_解决python线程卡死的问题
- 常用电商系统优劣势对比—管易云、远丰电商、电商宝、海商、旺店通ERP、百数
- 分享一些我的远程办公经验
- 七夕情人节520程序员表白html网页源码送女友男友礼物
热门文章
- System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。 ---> System.Security.Authentication.Authe
- Markdown 语法手册 (完整整理版)转抄
- 从校园到职场 - 谈谈艺多不压身
- 程序员的简历应该如何写?(含模拟面试,持续更新)
- 使用canvas编写飞机大战游戏
- HTTP协议详解(一)
- Linux pwn入门教程,Linux PWN从入门到熟练
- btrfs和ntfs linux5,如何选择文件系统EXT4、Btrfs 和 XFS
- pcm数据编码成为aac格式文件(可以在酷狗播放)
- 手机无线设计的八个原则