android中设置开机启动

权限设置

    <uses-permission android:name="android.intent.action.BOOT_COMPLETED"></uses-permission>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

manifes.xml设置

<activity android:name="activity.TestAcitvity"
            android:launchMode="singleInstance">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.MONKEY" />
            </intent-filter>
        </activity>

广播监听

<receiver
            android:name="receive.BootBroadcastReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="2147483647">
                <!--注册开机广播地址-->
                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
                <action android:name="android.media.AUDIO_BECOMING_NOISY" />
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>
public class BootBroadcastReceiver extends BroadcastReceiver {
    private static final String action_boot="android.intent.action.BOOT_COMPLETED";
    /**
     * 可以实现开机自动打开软件并运行。
     */
    @Override
    public void onReceive(Context context, Intent intent) {
            try {
                Intent mBootIntent = new Intent(context, TestAcitvity.class);
                mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(mBootIntent);
            } catch (Exception e) {}
    }
}

猜你喜欢

转载自blog.csdn.net/u010520146/article/details/84982014