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了。