首页 > 其他分享 >Android 应用自启动

Android 应用自启动

时间:2024-10-24 10:58:37浏览次数:7  
标签:应用 COMPLETED newIntent Intent context 自启动 Android

Android应用自启动

  • 监听系统广播(BroadcastReceiver): 通过接收系统的BOOT_COMPLETED广播,可以在设备启动后自动启动应用或服务。你需要在AndroidManifest.xml中注册一个BroadcastReceiver,并监听BOOT_COMPLETED广播。

    <receiver android:name=".MySelfStartingBroadcastReceiver"
              android:enabled="true"
              android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>
    

    权限及注意事项

    <!--    真机测试或高版本测试   -->
    <!--    需手动给应用自启动权限、后台弹出界面权限、悬浮窗权限   -->
    <!--    接收启动完成的广播权限 -->
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <!--    悬浮窗 -->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    

    在代码中处理广播事件:

    public class MySelfStartingBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
    
                //1.如果自启动APP,参数为需要自动启动的应用包名
                Intent newIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
                //下面这句话必须加上才能开机自动运行app的界面
                newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                //2.如果自启动Activity
                context.startActivity(newIntent);
                //3.如果自启动服务
    //            context.startService(newIntent);
            }
        }
    }
    

标签:应用,COMPLETED,newIntent,Intent,context,自启动,Android
From: https://www.cnblogs.com/20lxj666/p/18400434

相关文章