前些日子开发中突然需要用到App开机自启动,上网搜了一波发现非常简单,只需要几点权限加上一个receiver即可。在此记录一下。
第一步
在AndroidManifest.xml文件中添加一个receiver,android:name=”.AutoStartReceiver”是我自己的receiver的名称。
<!-- 开机启动 -->
<receiver android:name=".AutoStartReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
android:name=”.AutoStartReceiver”为处理开机启动后所做操作的AutoStartReceiver.java
第二步
在4.X版本上测试必须加入该句权限
<!-- 开机启动所需权限 -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
第三步
AutoStartReceiver.Java
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/**
* 实现开机启动
* @author Owner
*/
public class AutoStartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}