一、采用的常用方法(接收开机广播)
1、继承广播建类:
public class AutoStartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//当运行中接收到开机广播操作
if (Intent.ACTION_LOCKED_BOOT_COMPLETED.equals(intent.getAction())) {
//要跳转的界面
Intent intents =new Intent(context, MainActivity.class);
//非常重要,如果缺少的话,程序将在启动时报错
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//自启动APP跳转
context.startActivity(intents);
}
}
}
2、在清单文件AndroidManifest中application里进行隐式注册
<application>
...................
<receiver>
android:name=".base.AutoStartReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED" />
</receiver>
</application>
3、加上权限
<!--接收开机广播、需要的权限-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
4、如果要只运行你的app。可以在清单文件中给你启动界面加上:
<activity android:name=".MainActivity">
<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" />
</activity>