需求
在系统开机后自启动一个APP
实现
权限配置
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
注册广播
<receiver
android:name=".StartReceiver"
android:enabled="true"
android:exported="true">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
定义广播事件处理
package xx.xx.xx;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class StartReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//此处及是重启的之后,打开我们app的方法
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent intent= new Intent(context, MainActivity.class);
context.startActivity(intent);
}
}
}
碰到的问题
开机之后无法自启,非系统应用收不到开机完成的应用。
将apk采用系统签名重新签,进而达到功能