如何知道用户何时在我的应用程序启动的应用程序中按回来?

时间:2014-09-12 20:51:25

标签: android android-intent back-button

有没有办法知道用户何时按我的应用程序调用(通过意图)的应用程序中的后退按钮?

我从我的应用程序中启动了一个应用程序(如Acrobat Reader)。当用户在Acrobat Reader应用程序中按下后退按钮时,我怎么知道?

2 个答案:

答案 0 :(得分:0)

当您从活动中打开应用程序时,您的活动将变为不可见,因此调用onStop()并在返回时转到onRestart()和onStart()方法..您可以在其中实现所需的内容

进一步活动的生命周期见

http://developer.android.com/guide/components/activities.html

答案 1 :(得分:0)

  

当用户在Acrobat Reader应用程序中按下后退按钮时,我怎么知道?

没有保证可以做你要求的事情。采取以下方案......

假设我的应用中的Activity启动了第三方应用 - 在这种情况下,我的Activity会进入后台并进入“已停止”状态。如果用户按下BACK,那么我的Activity将重新启动并恢复......但就是这样。没有迹象表明我的Activity为何或如何重新启动和恢复。

对于第三方应用程序,无法保证知道用户是否按下了BACK按钮。即使您使用Activity startActivityForResult()启动,并非所有第三方应用都会返回任何结果。

现在采取不同的方案......

我的应用中的Activity启动第三方应用,然后用户点击HOME按钮。此时设备进入HOME屏幕(我的应用程序和第三方应用程序现在停止并且当用户处于HOME屏幕时不可见)。然后,用户转到“最近的应用”并选择我的应用,然后按BACK按钮终止我的应用Activity。然后他们转到Recent Apps并选择我的应用启动的第三方应用,然后按BACK以终止该应用。我的应用Activity已经被终止,因此无法通知第三方应用的终止方式。