Android開機啓動Service

Android4.0以後開機啓動service有點麻煩,但照網上的方法實現了,其實是在監聽開機廣播的時候在BroadcastReciever中啓動的service,

啓動service的代碼爲:

public class SysReciever extends BroadcastReceiver
{
	private String TAG = "MySysReciever";

	@Override
	public void onReceive(Context context, Intent intent)
	{
		if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
			Log.e(TAG, "開機啓動了");
			Intent startServiceIntent = new Intent(context, SensorService.class);
			context.startService(startServiceIntent);
			
			Toast.makeText(context, "~ Startup Success ~", Toast.LENGTH_LONG).show();
		} else {
			Log.e(TAG, "Received unexpected intent " + intent.toString());
		}

	}

}

AndroidManifest.xml註冊方法:

 

 	<receiver
            android:name=".SysReciever"
            android:enabled="true"
            android:exported="false" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
記得申明權限。

這樣就可以實現在開機的時候啓動Service了。

參考:在BroadcastReceiver中啓動Service


發佈了36 篇原創文章 · 獲贊 7 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章