Android 設(shè)備開機自啟動的可以用廣播實現(xiàn)掂为,因為 Android 設(shè)備開機時會發(fā)送一條開機廣播 "android.intent.action.BOOT_COMPLETED"梧喷。接收后實現(xiàn)啟動就完成了规婆。
少啰嗦,先看核心代碼
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
Intent intent = new Intent(context,MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
}
接下來是準(zhǔn)備工作
先添加權(quán)限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
注冊常駐廣播
<receiver android:name=".BootBroadcastReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
可能出現(xiàn)的問題
安裝在 SD 卡的應(yīng)用自啟動無效抒寂,安裝在手機內(nèi)存就好了剩岳。也可在 manifest 里面添加
android:installLocation="internalOnly
忘記加權(quán)限了劈猿,哈哈這種低級錯誤有時真的會遇到
需要 App 運行一次后才能實現(xiàn)開機自啟