在通过“后退”按钮离开应用程序之前显示“是/否”对话框
如果用户反复按后退按钮,我需要一种方法来检测他们何时处于任务/应用程序的最后一个活动并显示“您想退出吗?”他们返回主屏幕或之前运行的任何应用程序之前的对话框。
挂钩 onkeypressed() 很容易,但是我如何确定这是任务中的“最后一个”活动?
If user repeatedly presses back button, I need a way to detect when they are on the very last activity of my task/app and show "Do you want to exit?" dialog befor they return to Home Screen or whatever previous app they had running.
Its easy enough to hook onkeypressed()
, but how do I figure out that this is a "last" activity in the task?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为你可以在你的 Activity 中使用这样的方法来检查它是否是最后一个:
这还需要向你的 AndroidManifest.xml 添加权限:
因此在你的 Activty 中你可以使用以下内容:
然后在你的对话框句柄中单击按钮调用 Activity.finish()。
I think you can use smth like this in your Activity to check if it is the last one:
This will also require to add a permission to your AndroidManifest.xml:
Thus in your Activty you can just use the following:
Then in youd Dialog handle the button click to call Activity.finish().
请查看Android应用程序基础,这违反了Android应用程序的推广行为:
Please review the Android Application Fundamentals, this violates the promoted behavior of an Android Application:
哎呀,没有。
您可以使用一些标志来影响历史堆栈,但它们都在您的应用程序中。在您的 Intent 中尝试使用此标志:
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
FLAG_ACTIVITY_NO_HISTORY
FLAG_ACTIVITY_REORDER_TO_FRONT
FLAG_ACTIVITY_SINGLE_TOP
Afaik, there is not.
There are a few flags you can use to influence the history stack, but all within your application. Try this flags with your Intent:
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY
FLAG_ACTIVITY_NO_HISTORY
FLAG_ACTIVITY_REORDER_TO_FRONT
FLAG_ACTIVITY_SINGLE_TOP