Android啟動時,會發出一個系統廣播 ACTION_BOOT_COMPLETED,它的字串常量表示為 “android.intent.action.BOOT_COMPLETED”
開機自啟動程式,只需要“捕捉”到這個訊息再啟動你的程式即可,我們要做的是接收這個訊息,並實現一個BroadcastReceiver。
1 xml 配置
在AndroidManifest.xml中Application節點內,添加自訂的廣播類:
<receiver android:name=".BootReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver>
在AndroidManifest.xml中manifest節點內,添加開機啟動許可權:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2 自訂廣播類 BootReceiver
public class BootReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {// bootIntent intent2 = new Intent(context, MainActivity.class);//intent2.setAction("android.intent.action.MAIN");//intent2.addCategory("android.intent.category.LAUNCHER");intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent2);}}}
3 Activity
public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}}
4 運行結果
重啟手機後,自動彈出啟動的程式:
源碼下載
參考推薦:
Android 監聽應用的安裝和卸載
Android BroadcastReceiver(推薦)