【发布时间】:2015-07-24 05:14:22
【问题描述】:
我想做的是在用户退出我的应用程序时向我的后端服务器发送一个注销请求(可以在任何活动期间发生,有很多)。
似乎我不能使用OnStop(),因为我有一个画廊选择器和相机意图,当它们启动时,OnPause 和OnStop 被调用。我需要一种方法来明确知道该应用已关闭。
我已经阅读了有关使用 Service/BroadcastReceiver 甚至 LocalBroadcastManager 的信息,或者可能将请求绑定到单击主页按钮的时间。
我无法检查应用程序是否已发送到后台,因为这对于相机/图库 Intent 启动以及正在发送到后台的应用程序都是如此。我也试过检查正在启动的活动的包名,但这可能在其他设备上是可变的(例如,画廊可能有不同的包名)。
非常感谢任何建议/指导。
编辑:我发现实际上没有办法拦截按下主页按钮。仍在寻找解决方案!
【问题讨论】:
-
OnStop() 或 OnDestroy() ?.这种情况何时发生,从最近的应用程序中删除?
-
@sunilsunny 我不能使用
OnDestroy(),因为它不能保证被调用,并且OnStop可以在多种情况下被调用。是的,用户可能会从最近的应用程序中删除该应用程序。 -
@RuchirBaronia 不!
-
@LKB 那你做了什么?抱歉,最后一条评论中的大写锁定
标签: android android-activity broadcastreceiver localbroadcastmanager