一个挺有意思的功能,可以在用户开机的时候自动启动,实现一些后台的操作。
实现原理:注册广播,监听系统开机后发出的广播,在广播中操作后台。
代码:
1、主MainActivity.java(用于系统开机后,跳转到此类)
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
2、实现自定义广播类,用于接收系统广播
public class BootBroadCastReceiver extends BroadcastReceiver{
private static final String bootAction = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent){
// 接受系统广播,跳转到主Activity
if(intent.getAction().equals(bootAction)){
Intent startIntent = new Intent(context,BootBroadCastReceiver.class);
startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startIntent);
}
}
}
3、AndroidManifest.xml 注册广播,并添加权限。
<receiver android:name=".BootBroadCastReceiver">
<intent-filter>
<action android:name ="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.REBOOT"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.REBOOT"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
实现效果:手机开机后,自动跳转到ManiActivity