`

Android应用如何开机自启动、自启动失败原因

 
阅读更多

  转载自: http://www.trinea.cn/android/android-boot_completed-not-work/

 

 

      本文主要介绍Android应用如何开机自启动、自启动失败的原因、adb命令发送BOOT_COMPLETED
问题:应用程序是否可以在安装后自启动,没有ui的纯service应用如何启动?答案马上揭晓^_*
1、Android应用如何开机自启动
(1)、在AndroidManifest.xml中注册

注意不仅要添加android.intent.action.BOOT_COMPLETED对应的action,还需要添加对应的uses-permission

 

(2)、Receiver接收广播进行处理

 

2、自启动失败的原因
接收不到BOOT_COMPLETED广播可能的原因
(1)、BOOT_COMPLETED对应的action和uses-permission没有一起添加
(2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT_COMPLETED广播的
(3)、系统开启了Fast Boot模式,这种模式下系统启动并不会发送BOOT_COMPLETED广播
(4)、应用程序安装后重来没有启动过,这种情况下应用程序接收不到任何广播,包括BOOT_COMPLETED、ACTION_PACKAGE_ADDED、CONNECTIVITY_ACTION等等。
Android3.1之后,系统为了加强了安全性控制,应用程序安装后或是(设置)应用管理中被强制关闭后处于stopped状态,在这种状态下接收不到任何广播。直到被启动过(用户打开或是其他应用调用)才会脱离这种状态,所以Android3.1之后
(1)、应用程序无法在安装后自己启动
(2)、没有ui的程序必须通过其他应用激活才能启动,如它的Activity、Service、Content Provider被其他应用调用。
存在一种例外,就是应用程序被adb push you.apk /system/app/下是会自动启动的,不处于stopped状态。no broadcast receivedstopped state
具体说明见:
http://developer.android.com/about/versions/android-3.1.html#launchcontrols
http://commonsware.com/blog/2011/07/13/boot-completed-regression-confirmed.html

 

3、adb发送BOOT_COMPLETED
我们可以通过

命令发送BOOT_COMPLETED广播,而不用重启测试机或模拟器来测试BOOT_COMPLETED广播,这条命令可以更精确的发送到某个package,如下:

 

分享到:
评论

相关推荐

    unity打包安卓开机自启

    unity打包安卓实现安卓应用开机自启。使用方法:把"安卓开机自动.arr"文件导入到unity项目中,手机重启后等待1-2分钟该应用即可自己打开。之前的在安卓10上没效果,修改了下。适用于安卓10版本。注意:需要在安卓10里...

    Android程序静默安装安装后重新启动APP的方法

    一:需求简介  之前boss提出一个需求,运行在广告机上的app,需要完成自动升级的功能,广告机是非触摸屏的,不能通过手动点击,所以app必须做到自动下载,自动安装升级,并且安装完成后,app还要继续运行,最好不...

    华为EC6108V9A-RK3128-安卓4.4.4-卡刷固件包-当贝纯净桌面

    6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HDMI等各种花式功能 ; 刷机教程: 刷机注意事项:刷机过程中,如遇到刷机失败或是找不到刷机包,建议刷机模式下,选择backup字样的选项,恢复一...

    LaserRunTimer:用于激光跑步锻炼的 Android 应用程序

    用于激光跑步锻炼的 Android 应用程序。 介绍 激光跑是一项源自五项全能的运动。 它由射击和运行形成的子组件组成。 一个典型的会议包括一场短跑比赛,然后是一系列的射击和比赛。 在每个系列赛中,参赛者在恢复比赛...

    foodsharing:to采用现代方法来实现Foodsharing.network的移动应用程序-对iOS和Android完全重新实现当前Android应用程序及以后的版本

    该应用针对iOS和Android进行了优化-一种代码,一种爱! 时间范围:从头到生产两个星期 :smiling_face_with_sunglasses: :wrapped_gift: 试试看! 的iOS 安装 点击 安卓 适合您平台 或仅安装 :party_popper: ...

    pal98_android:Android中的pal98游戏

    首先,添加gameData,然后在应用程序启动时将gameData复制到sdcard。 原始源( )仅具有源代码,而没有gamedata。 其次,改变某些东西将永远无法成功,包括逃跑,偷窃和魔灵虎洲(条件不变),即当敌人的生命值低于...

    adb1.0.26包含fastboot.exe

    包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。 Android 设备的开发者选项和 USB 调试模式已开启。 可以到「设置」-「开发者选项」-「Android 调试」查看。 如果在设置里找不到开发者选项,那...

    stopwatch:由ATDDTDD方法开发的小型Android演示-受史蒂夫·弗里曼(Steve Freeman)伟大著作的启发

    创建一个空的Android应用程序,以便Calabash可以启动它并运行该方案,但尚无任何步骤的实现 由于应用程序是由Calabash在运行方案之前启动的,因此无需代码即可实现给定的步骤“用户打开应用程序”。 场景继续传递,...

    Bluetooth-Reset---Android

    蓝牙重置我目前在我的 HTC M8 上使用 CyanogenMod 12.1,它目前有一个错误,蓝牙服务间歇性失败,它只会在清除蓝牙共享应用程序的数据后重新启动。 这个应用程序会自动执行此操作。 它也应该适用于非 Cyanogen rom。...

    绿色守护 greenify v 2.5.2 Beta1

    经过『绿色化』工艺处理的应用,在您没有主动启动它们的时候,无法『偷偷』运行,而在您正常启动它们时仍然拥有完整的功能和体验,正如iPhone应用那样! 从2.0版本开始,绿色守护可以在工作在非ROOT模式,不过这一...

    网狐荣耀版开发使用常见问题解答

    十九、网狐荣耀版棋牌中心服务器显示“服务启动失败”的原因 网狐荣耀版棋牌,在启动中心服务器时,显示“服务启动失败”,如下图。这是因为开发库不配套的问题产生的。更新了开发库,问题解决。 二十、网狐荣耀版...

    flutter-debug-attach-ios:使用这2个脚本和配置文件,您可以附加和调试在iOS> 13.3.1的真实iOS设备上运行的flutter应用程序,从而避免了iOS mDNS错误

    flutter-debug-attach-ios:如何避免发生著名的iOS错误:“ mDNS查找失败,尝试回退以读取设备日志。正在等待观测台端口可用...” 我在真正的IOS设备上遇到了这个非常烦人的错误(无法在vscode或Android Studio上...

    e1547:适用于e621 + e926的移动应用

    显示帖子信息,从标签启动搜索 长按可查看标签Wiki条目 本地黑名单 DText解析 视频支持 自动更新检查 多个应用主题 屏幕截图 V1.5.2 GIF通过在iOS 下载 在可以找到APK和IPA文件。 安装 在Android上安装 下载最新的...

    Tasker_Pro_v5.9.2_beta3.apk

    显示:关闭/打开/解锁,文件关闭/删除/修改/移动/打开/属性已更改,相机/搜索按钮长按,已安装/已卸下/未安装卡,手势,未接电话,更改电话,接收到的文本,SMS发送成功/失败,电池已更换/满/低/过热,设备启动,...

    Tasker Pro 5.7.0.apk

    显示:关/开/解锁,文件关闭/删除/修改/移动/打开/属性更改,相机/搜索按钮长按,卡安装/卸下/未安装,手势,未接来电,电话更改,接收文本,短信发送成功/失败,电池更换/完全/低/过热,设备启动,设备关闭,存储低...

    BatchApkTool375.7z

    Batch Apktool 3.7.5 by Bursoft Batch Apktool是一个强大的shell,它结合了...此命令必须终止ADB,否则安全设备检索将失败。 4.附加功能: 4.1项目[04]、[05]、[06]和[07]用于使用Baksmali Smali解压缩和重新编译AP

    Cimoc:漫画阅读器

    所有发行版由travis-ci编译发布,如果在发行版某个版本没有apk,那么正在正在编译,或者就是编译失败了使用pre-release会在每次启动时显示检查更新提示。安卓apk下载地址 漫画源 漫画源工作情况可以在中进行查看,请...

    【最新版】wechat_devtools_1.02.2004020.dmg【亲测可用】最好的微信开发者工具

    F 修复 使用 cli 打开 project.config.json 中 projectname 为中文的项目时会一直卡在初始化应用通信能力的问题 反馈详情 F 修复 ts 项目编译前命令无限执行的问题 反馈详情 F 修复 PC 端模拟器的 touchend 事件回...

    xBrowserSync-crx插件

    xBrowserSync当前支持在Chrome和Firefox之间同步书签,并且您还可以使用适用于Android的xBrowserSync移动应用程序在移动设备上访问已同步的书签。即将支持更多浏览器,并且计划在将来的版本中同步其他浏览器数据。...

Global site tag (gtag.js) - Google Analytics