安卓开发实现开机自启动

最近项目要实现一个开机自启动的功能,查阅资料 ,很简单 ,记录一下 。

第一步:设置权限

<!--开机自启动的权限-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

第二步:自定义广播 创建一个自定义的类



/**
 * Created by Administrator on 2017/11/16.
 * 开机自启动的广播
 */

public class BootBroadcastReceiver extends BroadcastReceiver {
    static final String ACTION = "android.intent.action.BOOT_COMPLETED";

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

第三步:在manifest配置广播

<!--开机自启动的广播-->
<receiver android:name=".receiver.BootBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</receiver>

第四步:测试

  

猜你喜欢

转载自blog.csdn.net/weixin_37166398/article/details/78547932