在項目中用到開機自動運行功能,因此學習了下,在此作為筆記記錄下。
主要是以下4個步驟:
1、原理瞭解:
通過搜查資料發現,當Android啟動時,會發出一個系統廣播,內容為ACTION_BOOT_COMPLETED,它的字串常量表示為android.intent.action.BOOT_COMPLETED,因此我們只需要在自己的應用中接收這個廣播,然後啟動APP即可。
2、編寫接收器
既然是接收廣播,必然是要用廣播接收器,因此建立一個繼承自廣播BroadcastReceiver的類來專門接收上述的系統廣播。
importandroid.content.Context;importandroid.content.Intent; //廣播接收,開機自啟動public classBootBroadcastReceiver extends BroadcastReceiver { static final Stringaction_boot="android.intent.action.BOOT_COMPLETED"; @Override public void onReceive(Context context,Intent intent) { if(intent.getAction().equals(action_boot)){ Intent autoIntent =newIntent(context,LoginActivity.class); autoIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(autoIntent); } } }
上述代碼就是接收廣播,判斷是開機的廣播後,就跳轉到自己的應用。這裡是開始的LoginActivity。
3、註冊廣播
在manifest.xml中註冊該廣播,當系統發出開機廣播後,就會進入到com.baby.activity.BootBroadcastReceiver這個類中,就是我們剛才所編寫的接收器類。
4、聲明許可權
涉及到開機啟動,必然要賦予這個應用相應的許可權的。因此在 manifest.xml中加上許可權