【发布时间】:2012-06-15 22:33:13
【问题描述】:
在我们的 Android 应用程序中,我通过在 *ContactsContract.Contacts.CONTENT_URI* 上使用 Intent 操作 *ACTION_PICK* 来实现联系人选择。这种方法工作正常(大部分情况下),但不幸的是我无法控制传入的事件活动。
应用在后台强制执行时必须注销并退出。目前它是通过使用活动事件实现的:onStop() 用于主要活动,但如果系统中的联系人活动打开,应用程序显然不会收到该事件。
我试图以某种方式对联系人活动进行子类化,但恐怕无法对其进行管理。
我尝试使用不同的活动开始标志,但找不到与这种情况相关的任何标志(更不用说标志不适用于 startActivityForResult() 方法)。
我试图挂钩不同的广播事件,但有太多的可能性最终会将应用程序推到后台。
我发现了一些在顶部轮询应用程序的技巧,但这需要 GET_TASKS 权限,而且通常无论如何这将是一个重大黑客攻击。我宁愿不去那里。
所以,总结一下我的问题:
有什么方法可以检测到应用程序在联系人活动打开时被强制执行到后台?
【问题讨论】:
标签: android android-intent android-activity android-contacts