我有一系列的Android應用程序,我需要協調他們的執行。在任何給定的設備上,可以安裝這些應用程序中的任何一個,或者安裝其中任何兩個應用程序,或者其中任意三個,或者任何四個,等等。所有這些應用程序都可以做一件特定的事情,他們都會不時嘗試做這件事。現在問題就出現了:在任何時候,最多隻允許其中一個應用程序執行此操作。如果任何一個應用程序正在做這件事,其他應用程序都不應該這樣做;他們應該等待輪到他們,或者乾脆通過。換句話說,我需要Android上的全局互斥或關鍵部分機制。另外,如果可能,我想避免NDK。我該怎麼辦?Android全球互斥?
0
A
回答
2
您可能需要詳細一點才能得到更具體的答案。但根據我的理解,聽起來你可以在每個應用程序中使用BroadcastReceiver來監聽一個動作以獲得廣播,並將其作爲需要等待或取消動作的標誌。然後在每個應用程序內部,每當你要開始你的動作時,你都會用`com.your.packagename.ACTION_STARTING_THE_THING'這個動作字符串來廣播一個意圖。所有安裝的其他應用程序(如果有的話)都會收到此意圖,並可以對其進行相應處理。
相關問題
- 1. 互斥或不互斥互斥?
- 2. 「安全」處理互斥鎖?
- 3. 互斥MySQL全文搜索
- 4. android NDK互斥鎖定
- 5. 互斥
- 6. 互斥
- 7. Java中互斥線程的互斥量?
- 8. Linux互斥鎖必須是全局的?
- 9. UnauthorizedAccessException打開全局互斥鎖
- 10. 是否有任何理由擁有多個全球可訪問的互斥體?
- 11. 爲什麼互斥體不需要互斥體(並且該互斥體需要互斥體...)
- 12. 使NSOperations互斥
- 13. 互斥理解
- 14. Posix Pthread互斥
- 15. 與互斥
- 16. 互斥對象
- 17. Java互斥
- 18. 互斥並行
- 19. 使用互斥
- 20. 互斥問題
- 21. setBackgroundColor()和setBackground()在android中互斥
- 22. 仿生(android libc)互斥體變體
- 23. 全球Android應用
- 24. 全球搜索Android
- 25. Android全球服務
- 26. Android全球活動
- 27. Android全球變量
- 28. Android全球搜索
- 29. 互斥Console發行
- 30. pthread_getspecific和互斥鎖
恐怕你的回答不太對,但無論如何感謝。不正確的原因是,如果我的兩個應用試圖在大致相同的時間執行「那件事」,他們都會發送廣播,並一起直接進入關鍵部分。如果他們中的任何一個在完成該事情之前收到廣播,它可能能夠取消該動作,回滾並假裝沒有發生任何事情,但更可能是太晚了。 – ycsun
我知道我的問題有點過於籠統,但我想知道在Android上是否存在針對此全局互斥問題的通用解決方案,就像它在其他一些平臺上一樣。 – ycsun