0
我在我的Android應用程序中創建了Service
,該應用程序開始在BOOT_COMPLETE
上運行。我想運行我的Service
不停(始終運行),併爲此我用while(true)
裏面onStartCommand()
方法。那麼,使用while(true)
還有什麼更好的方法可以在後臺運行服務嗎?如何在後臺運行服務(非停止) - Android
這是我服務的代碼:
package com.example.abc.project1;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import org.json.*;
import java.io.*;
import java.net.*;
import java.util.*;
public class HelloService extends Service {
private static final String TAG = "HelloService";
private boolean isRunning = false;
@Override
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
isRunning = true;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
/*non-stop work to be done in background always*/
}
}
}).start();
return Service.START_STICKY;
}
@Override
public void onDestroy() {
isRunning = false;
}
}
我會'while(isRunning)',但是你現在的做法有什麼問題?它不起作用嗎? –
我認爲服務會繼續運行,直到您調用stopService()方法或直到您關閉手機 –
所有的android服務都會運行,直到您明確調用stopService或關閉手機。 –