如何在開機的時候就啟動應用程式

如何在開機的時候就啟動應用程式

如果我們想要在開機的時候,就啟動我們的應用程式的話,怎麼辦呢?
其實只需要利用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。