我有一系列的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