如果我們想要在開機的時候,就啟動我們的應用程式的話,怎麼辦呢?
其實只需要利用BroadcastReceiver就可輕鬆達成。
首先我們就先寫一支一般的應用程式,
public class BootAppDemoActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
接著寫一支BroadcastReceiver的子類別,並且覆寫onReceive這個方法,
public class BootBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Intent bootIntent = new Intent(context,BootAppDemoActivity.class);
context.startActivity(bootIntent);
}
}
接著在AndroidManifest.xml裡面新加入receiver
<receiver android:name=".BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
注意:receiver放的類別名稱是BroadcastReceiver子類別的名稱。
Android在開機的時候,會送出android.intent.action.BOOT_COMPLETED這個廣播訊息,
因此只要設定好了,一開機就會執行指定的Activity。