我的問題如下:發送消息從活動intentService
我從我的主要活動開始我的intentService。這個intentService使用audioRecord進行一些音頻處理。但是,當我需要在應用程序中啓動另一個活動(在這種情況下錄製視頻)時,我需要在後臺停止intentService(因爲它佔用了音頻資源)。
有沒有辦法阻止intentService從主要活動?
我的問題如下:發送消息從活動intentService
我從我的主要活動開始我的intentService。這個intentService使用audioRecord進行一些音頻處理。但是,當我需要在應用程序中啓動另一個活動(在這種情況下錄製視頻)時,我需要在後臺停止intentService(因爲它佔用了音頻資源)。
有沒有辦法阻止intentService從主要活動?
您可以使用stopService()從這樣的主要活動:
stopService(new Intent(yourMainActivity.this,yourIntentService.class));
使用相同的預申報intent
您用來啓動IntentService並調用
stopService(intent);
如果創建
一個新的意圖,並使用它來停止服務,該服務將不會對它做出響應,直到它處理完以前的意圖。
但應該指出,這不會立即停止服務。所以一個解決方法是有一個全局布爾變量。當其設置爲true時,服務中的處理將執行,並且當您想要結束時,將您的活動的布爾變量設置爲false。然後您可以通過致電
stopSelf();