android开机自启动APP及使用adb命令测试
2017-09-01 14:29
1071 查看
android开机自动运行APP实现方式其实很简单。在android系统运行时,会发出“android.intent.action.BOOT_COMPLETED”这个系统广播,因此我们监听它,并进行打开APP的操作即可。现在大多数的android手机系统都默认禁止第三方安装的APP开机自启动,只有系统APP(system/app)才默认有这个权限,所以一般都需要去安全中心或者手机管家中去设置为允许。这里说个题外话,手机软件除非特殊情况,不然最好不要做开机自启动,开机自启动一般适用于android系统的终端机上,开机即运行相应的项目,该机器上也只有这个项目,下面上代码。
新建一个类AutoStartBroadcastReceiver集成自BroadcastReceiver:
在AndroidManifest.xml文件中设置权限和注册广播:
如此,代码部分就完成,可以进行测试了!我在android7.0的模拟器和Android6.0的真机(魅族)上都测试过,实现的预期的功能。下面提供两个通过adb发送“BOOT_COMPLETED”系统广播的命令:
1.
adb发送系统广播至android设备
2.
adb发送系统广播至android设备指定的组件中,-n后面接的是你指定项目所需接收广播的类的全路径,而并非大多网上所说的packagename,比如我项目中即为:”com.android.qrcode/.AutoStartBroadcastReceiver”
以上两个命令也都是亲测有效的,如果还有不明白的地方,欢迎留言!
新建一个类AutoStartBroadcastReceiver集成自BroadcastReceiver:
public class AutoStartBroadcastReceiver extends BroadcastReceiver { private static final String ACTION = "android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context, Intent intent) { //开机启动 if (ACTION.equals(intent.getAction())) { Intent mainIntent = new Intent(context, MainActivity.class);//MainActivity.calss为你要打开的界面,如果没有界面就可以用service代替 // 在BroadcastReceiver中显示Activity,必须要设置FLAG_ACTIVITY_NEW_TASK标志 mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(mainIntent); } } }
在AndroidManifest.xml文件中设置权限和注册广播:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:name=".AutoStartBroadcastReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver>
如此,代码部分就完成,可以进行测试了!我在android7.0的模拟器和Android6.0的真机(魅族)上都测试过,实现的预期的功能。下面提供两个通过adb发送“BOOT_COMPLETED”系统广播的命令:
1.
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED
adb发送系统广播至android设备
2.
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n component
adb发送系统广播至android设备指定的组件中,-n后面接的是你指定项目所需接收广播的类的全路径,而并非大多网上所说的packagename,比如我项目中即为:”com.android.qrcode/.AutoStartBroadcastReceiver”
以上两个命令也都是亲测有效的,如果还有不明白的地方,欢迎留言!
相关文章推荐
- android开机自启动APP及使用adb命令测试方法
- 【APP测试初体验】android测试命令----adb常用命令
- Android使用广播实现app开机自启动
- 【和小强学移动app测试3】adb命令使用汇总(持续更新)
- 在windows下使用cmd命令通过adb shell自动调用android模拟或真机的InstrumentRunner进行android 自动化测试
- 利用adb命令来测试Android手机App的耗电量
- Adb-For-Test 使用 adb 命令实现元素定位等功能,用来辅助 android 测试
- 编写自己的android主界面=开机自启动自己的APP(Application of ADB disable/enable)
- 【和小强学移动app测试3】adb命令使用汇总(持续更新)
- adb使用-android adb shell 命令大全
- android adb 常用命令使用介绍 (【un】install push pull logcat devices remount shell monkey)
- Android使用adb命令
- android使用adb命令安装软件
- android ADB命令的使用
- 昨天学习的linux下adb fastboot命令来使用android手机
- Android adb logcat 命令使用的技巧
- 如何使用ADB命令查看Android手机相关信息参数
- android ADB命令的使用
- android中APK包的安装以及adb命令的使用
- 使用Android adb命令来启动Android应用程序