簡體   English   中英

Android后台服務和線程

[英]Android Background Service and Thread

我正在使用Rabbit MQ pub / sub技術開發android應用程序。 我想在android后台服務中監聽傳入的消息。 我可以在android后台服務中運行線程嗎?

public class MessagingService extends Service {

private Thread subscribeThread;

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    super.onCreate();

    subscribeThread = new Thread(new Runnable() {
        @Override
        public void run() {
            //Connecting to server and listen incoming message.
        }
    });
    subscribeThread.start();

}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    return START_STICKY;
}

@Override
public void onDestroy() {
    super.onDestroy();

    subscribeThread.interrupt();

}

}

是的,您可以在Android Service中運行新線程。

請在此處查看文檔中的注釋: http : //developer.android.com/guide/components/services.html

警告:服務在其宿主進程的主線程中運行-該服務不會創建自己的線程,也不會在單獨的進程中運行(除非另行指定)。 這意味着,如果您的服務要執行任何CPU密集型工作或阻止操作(例如MP3播放或聯網),則應在服務內創建一個新線程來執行該工作。

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM