我想通過startActivity(...)方法從服務發送一個Intent。 如果活動正在運行(和/或暫停),我也希望收到這個意圖 如果活動未運行,我不想啓動它,我希望意圖丟失。 是否有可能實現這樣的行爲?是否有可能意圖不開始新的活動,但只能由現有的活動接受?
0
A
回答
0
讓您的活動在onCreate()中註冊BroadcastReceiver,並在onPause()中取消註冊。這將確保您的接收器僅在您的活動期間處於活動狀態。
public void onStart() {
mBroadcastReceiver = new MyBroadcastReceiver(...);
registerReceiver(mBroadcastReceiver, filter);
}
...
public void onPause() {
unregisterReceiver(mBroadcastReceiver);
registerReceiver在上下文中定義。
0
如果活動沒有運行,我不想啓動它,
我不知道的部分,但如果你不希望創建同一活動時的另一個實例已經有一個人跑來,你可能想嘗試android:launchMode="singleTask"
你的清單:
<activity
android:name=".MyActivity"
android:launchMode="singleTask"/>
相關問題
- 1. 是否有可能開展START_STICKY活動?
- 2. 是否有可能知道活動是如何開始的?
- 3. 意圖不開始新的活動
- 4. Monodroid - 不能開始新的活動/意圖
- 5. 從含有意圖的活動開始片段活動
- 6. 新的活動開始於意圖
- 7. 不是從意圖開始活動
- 8. 開始一個新的活動,但不同的意圖
- 9. 從片段的意圖開始活動開始空白活動
- 10. 不要開始新的活動新的意圖,採取舊的活動
- 11. 未能開始新的活動(android)
- 12. 是否有可能訂閱Hystrix的CircuitBreaker開幕活動?
- 13. 使用意圖重新開始活動
- 14. 不開始新的活動
- 15. 意圖不工作,我不能開始另一項活動
- 16. Android:使用意圖開始新活動時未找到活動
- 17. 是否有可能從一個活動class..Using意圖啓動片段類
- 18. 開始現有的Android活動
- 19. 意圖開始活動不工作
- 20. Android意圖不開始活動
- 21. 是否有可能實現一個TabLayout與活動
- 22. 開始新的活動由一個String
- 23. 開始由AdMob破壞的新活動?
- 24. 是否有可能有一個活動中的多個GoogleApiClients?
- 25. 是否有可能在Tabhost中沒有活動的選項卡?
- 26. 是否有可能沒有活動的片段?
- 27. 是否有可能只有vim中的活動緩衝區的語法?
- 28. 只有在被NFC調用後才能開始活動
- 29. 在onCreate中開始新的活動只能延遲
- 30. 以同樣的意圖開始活動
我相信你可以使用這個廣播(http://developer.android.com/reference/android/support/v4/內容/ LocalBroadcastManager.html) – RocketSpock