参照:Andr_安卓10 开机应用自启">
当前位置:   article > 正文

Android 10及更高开机应用自启动_安卓10 开机应用自启

安卓10 开机应用自启

1、AndroidManifest.xml权限

  1. <!--接收启动完成的广播权限-->
  2. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
  3. <!--悬浮窗-->
  4. <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

参照google文档:

Android 10 (API 级别 29) 及更高版本对后台应用可启动 Activity 的时间施加限制

注册广播

  1. <receiver
  2. android:name=".receiver.BootBroadcastReceiver"
  3. android:enabled="true"
  4. android:exported="true"
  5. android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
  6. <intent-filter android:priority="1000">
  7. <action android:name="android.intent.action.BOOT_COMPLETED"/>
  8. <category android:name="android.intent.category.DEFAULT"/>
  9. </intent-filter>
  10. </receiver>

 2、打开应用权限(允许应用在后台弹出界面、允许应用显示悬浮窗)及打开应用自启动

 3、广播

  1. /**
  2. * 开机自启动
  3. */
  4. public class BootBroadcastReceiver extends BroadcastReceiver {
  5. static final String ACTION = "android.intent.action.BOOT_COMPLETED";
  6. @Override
  7. public void onReceive(Context context, Intent intent) {
  8. if (intent.getAction().equals(ACTION)) {
  9. LogUtil.d("开机了。。。。");
  10. // Intent newIntent = new Intent(context, MainActivity.class); // 要启动的Activity
  11. //1.如果自启动APP,参数为需要自动启动的应用包名
  12. Intent newIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
  13. //下面这句话必须加上才能开机自动运行app的界面
  14. newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  15. //2.如果自启动Activity
  16. context.startActivity(newIntent);
  17. //3.如果自启动服务
  18. // context.startService(newIntent);
  19. }
  20. }
  21. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/712812
推荐阅读
相关标签