我是Android新手。我正在開發一個記錄傳感器數據的應用程序。我有兩個按鈕的活動。當用戶按下開始按鈕時,我想要啓動服務並記錄傳感器數據,直到用戶按下停止按鈕。我不確定我想要使用哪種類型的服務。我讀了關於本地和遠程服務的內容,但我實際上並沒有明白其中的差別。Android服務在應用程序死亡時重新啓動
我試過至今:
我創建了一個活動與啓動和停止本地服務兩個按鈕:
//Start Service
startService(new Intent(this, MyService.class));
//Stop Service
stopService(new Intent(this, MyService.class));
我還創建了一個棘手的服務,onStartCommand()
開始記錄傳感器數據:
public int onStartCommand(Intent intent, int flags, int startId) {
mSensorManager.registerListener(this, accelerometer,
SensorManager.SENSOR_DELAY_FASTEST);
mSensorManager.registerListener(this, magnetometer,
SensorManager.SENSOR_DELAY_UI);
mSensorManager.registerListener(this, lightSensor,
SensorManager.SENSOR_DELAY_UI);
Toast.makeText(this, "Service Started", Toast.LENGTH_LONG).show();
return Service.START_STICKY;
}
AndroidManifest.xml:
<service android:name=".MyService" android:enabled="true" android:process=":HelloSensors_background"/>
它運行良好,但問題是當我啓動該服務的kill the application時,此服務重新啓動並丟失所有以前記錄的數據。爲了使服務能夠順利運行並且即使在應用程序被殺害時仍繼續運行,以避免丟失任何已記錄的數據,我該如何使用?
你是什麼意思殺死應用程序?如果用戶轉到應用程序的設置頁面並選擇「強制停止」,服務將被停止,但對此無能爲力。 – Premsuraj 2013-03-18 10:03:34
[This](http://www.youtube.com/watch?v=XVyXCrM-3zw)就是我的意思,通過殺死應用程序 – user1135357 2013-03-18 10:11:29
我第二個問題_你是什麼意思「殺死application_」?但是,我想指出的是,服務_can_可以與應用程序分開,以便如果用戶停止_app_,_service_可以繼續運行。 – 2013-03-18 10:11:58