開始,我開始從我的服務下面的代碼的活動:最佳替代品從服務
Intent cmActivityIntent = new Intent(getApplicationContext(), CallManagementActivity.class);
cmActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(cmActivityIntent);
在應用程序的清單活動的launchMode被定義爲android:launchMode="singleTask"
。
我一直在尋找停止服務的onDestroy()
活動的方法,但我一直沒能找到任何可以幫助我的文檔。我只找到了一種方法。
我已經看到了檢查service的方法,如果使用activity-class-static-property(public static boolean isInstanced
)實例化活動,並且發送另一個意圖到FINISH_ACTIVITY
多餘的活動(如果是)。然後,在活動的onNewIntent()
上,將檢查該標誌,並且如果該標誌被包括,則該活動將被完成。
這種方法對我來說並不合適,因爲意圖應該用於開始活動而不是阻止它們。
有人知道如何實現這一點的任何其他方式嗎?已獲得
廣播將工作,與接收器在活動中。或者,該活動可以綁定到該服務,將其傳遞給一個信使,並且該服務將使用該信使將命令傳遞給該活動。 – njzk2
'LocalBroadcastManager'或類似'Otto'的事件總線應該能夠做到,然後在事件上調用'finish()'。 – EpicPandaForce
@ njzk2你可以發佈綁定替代方案作爲一個解決方案與示例代碼來嘗試它,看看它的工作原理? – Storo