標籤:
Android啟動時,會發出一個系統廣播 ACTION_BOOT_COMPLETED,它的字串常量表示為 “android.intent.action.BOOT_COMPLETED”
開機自啟動程式,只需要“捕捉”到這個訊息再啟動你的程式即可,我們要做的是接收這個訊息,並實現一個BroadcastReceiver。
1 :xml 配置
在AndroidManifest.xml中Application節點內,添加自訂的廣播類:
1 <receiver android:name=".BootReceiver" >2 <intent-filter>3 <action android:name="android.intent.action.BOOT_COMPLETED" />4 5 <category android:name="android.intent.category.LAUNCHER" />6 </intent-filter>7 </receiver>
在AndroidManifest.xml中manifest節點內,添加開機啟動許可權:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2: 自訂廣播類 BootReceiver
1 public class BootReceiver extends BroadcastReceiver { 2 @Override 3 public void onReceive(Context context, Intent intent) { 4 if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { // boot 5 Intent intent2 = new Intent(context, MainActivity.class); 6 // intent2.setAction("android.intent.action.MAIN"); 7 // intent2.addCategory("android.intent.category.LAUNCHER"); 8 intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 9 context.startActivity(intent2);10 }11 }12 }
3 :Activity
1 public class MainActivity extends Activity {2 @Override3 public void onCreate(Bundle savedInstanceState) {4 super.onCreate(savedInstanceState);5 setContentView(R.layout.main);6 }7 }
Android 開機自啟動應用