背景
对于在启动后,仅在后台运行一个或多个Service,而不立马启动一个Activity,且在桌面不显示应图标的应用,默认情况下,通过adb install
安装了apk后,要让其运行起来,须通过adb shell am start xxx
命令来手动启动应用,存在一定的不便之处。
需求
如果adb install的应用不是首次安装,而是替换当前已安装的应用,那期望它在安装完毕后能自动重启运行,而不需通过adb 命令来启动。
解决方案
实现自动启动的通用方案是声明广播接收器并在AndroidManifest中静态注册。为实现如上需求,我们需要在该广播接收器中额外监听PACKAGE_INSTALL,PACKAGE_ADDED,PACKAGE_REPLACED这三个广播,即声明的Service如下所示:
同时要声明如下权限:
适用范围
【实现adb install替换Android应用的apk后应用自动运行】亲测在Android 4.4.3 和5.1 上有效
推荐阅读
- 从零开发一个完整的Android项目(九)——图片浏览
- Android开发|ViewPager自适应高度问题
- Android|Android 指定销毁一个Activity
- 【Android】简单图片浏览器
- 理解ButterKnife(自动生成绑定资源的代码)
- MAC下搭建Android Studio
- NestedScrollingParent 和NestedScrollingChild 实现嵌套滑动
- android用shape画一条横线
- 华为推送 的坑
- Duplicate class com.alipay.a.a.a found in modules classes.jar (:alipaySdk-15.6.2-20190416165036:) an