我的目标:在onStop
.
示例:当用户按下按钮或被调用时启动intent
并启动。Activity
home
onStop
我知道这不是一个好习惯,但是如果用户试图通过home
按钮离开应用程序,我们需要强制用户交互。
如果您对如何实现此目标有任何其他想法,请告诉我。
谢谢
我的目标:在onStop
.
示例:当用户按下按钮或被调用时启动intent
并启动。Activity
home
onStop
我知道这不是一个好习惯,但是如果用户试图通过home
按钮离开应用程序,我们需要强制用户交互。
如果您对如何实现此目标有任何其他想法,请告诉我。
谢谢
你不能可靠地做到这一点(因为它是类似恶意软件的行为)。用户将始终能够从最近的应用程序菜单中终止您的应用程序。
你可以让你的应用成为一个启动器,如果这是你的用户会忍受的东西,那么每次他们回家时它都会启动,但没有办法阻止某人离开你的应用(可靠地)。很多黑客攻击都是可能的,包括Service
s 启动am start
(可能需要也可能不需要 root),但同样,完全可以绕过。
如果您的用户足够信任您(并且听上去他们别无选择),您可以请求SYSTEM_ALERT_DIALOG
许可。这允许您将窗口置于其他应用程序之上。所以,拼图的碎片变成了以下 -
onStart
在调用/onStop
方法时通知服务的活动。当 anonStop
被调用时,您启动一个计时器(例如通过在处理程序上使用)并在 an被调用postDelayed
时取消它。onStart
onStop
无需停留在应用程序中即可。然后,您可以显示一个带有适当标志的窗口(这部分有点低级,因为您必须WindowManager
直接Dialog
与用户当前正在查看。或者,根据对话框的重要性,考虑将其显示为通知,一旦按下该通知,就会启动带有对话框的活动。当然,您随后会冒着用户关闭通知的风险(尽管您可以使其持续进行以避免这种情况)。