首先
- 在工程上新建一个用来接受广播的类,要继承BroadcastReceiver
package com.xiao.autostart
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
/**
* Created by xiao on 2017/6/26.
*/
public class BootBroadcast extends BroadcastReceiver{
static final String action_boot="android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive (Context context, Intent intent) {
Log.i("charge start", "启动完成");
if (intent.getAction().equals(action_boot)){
Intent mBootIntent = new Intent(context, MainActivity.class);
// 下面这句话必须加上才能开机自动运行app的界面
mBootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mBootIntent);
}
}
}
然后
- 在Androidmanifest.xml中加入相关权限和配置信息
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
最后
//BootReceiver是上面建的广播类
<receiver android:name=".BootReceiver">
<intent-filter>
<!--注册开机广播地址-->
<action android:name="android.intent.action.BOOT_COMPLETED">
</action>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
注:本篇在记录的同时,也熟悉简书的写法,希望不会是最后一篇。。