在Android手机上使用主页按钮

时间:2012-03-10 20:08:09

标签: android

在iphone退出应用程序并通过点击启动器图标再次启动应用程序时,应用程序从退出应用程序之前上次打开的屏幕开始。

当我们使用中心或Android手机上的android退出应用时,我们可以在home button中实现相同功能。在Android应用程序中如果通过按主页按钮退出应用程序并通过单击启动器图标再次启动该应用程序从上次打开的活动开始,然后退出应用程序。

在保持应用程序内存更长方面,该功能是否与iphone类似?这会在android中一直运行,因为我认为android系统会在一段时间后从内存中删除应用程序,还是会在内存中保留更长时间?我可以依赖于Android中的这个功能,并期望它一直工作。

我在android中有一个项目,如果我们退出应用程序再次启动应用程序,它会让我从上次打开的屏幕打开之前,客户端要求我具有iphone功能。现在只有我们使用中心按钮才能在android中实现。此外,如果用户已退出使用中心按钮并再次启动它,应用程序应检查用户当前位置并执行其他操作。如果启动应用程序并且用户导航到任何活动,有任何方法可以使用后退按钮或中心按钮检查应用程序是否已退出,以便在使用中心按钮退出应用程序时可以运行代码。

由于

2 个答案:

答案 0 :(得分:3)

  

当我们在Android手机上使用中心或主页按钮退出应用程序时,我们可以在android中实现相同。

HOME按钮不会“退出应用程序”。

HOME按钮将主屏幕带到前台,就像CAMERA按钮(如果可用)将摄像机应用程序带到前台一样,CALL按钮(如果可用)将拨号器带到前台,点击{{ 1}}可以基于Notification等将其他东西带到前台(例如,SMS客户端)。

  

在Android应用程序中,如果通过按主页按钮退出应用程序并通过单击启动器图标再次启动应用程序,应用程序将从上次打开应用程序之前打开的活动开始。

没有。如果您点击启动器图标,并且应用程序的进程仍在内存中,现有的应用实例将被带到前台,让您返回到您所处的任何活动。如果您点按启动器图标,并且已终止应用程序的进程以释放其他应用程序的RAM,则会启动应用程序的新副本并显示Notification / ACTION_MAIN活动的内容用户点击了。

  

这会在android中一直有效,因为我觉得android系统会在一段时间后从内存中移除应用程序,还是会在内存中保留更长时间?

非前台应用程序进程在内存中的时间长度是不确定的,并且将基于设备的运行情况以及设备功能(例如,多少RAM)。我建议您阅读有关process lifecycle的更多信息。

  

现在只有在我们使用中心按钮时才可以在android中使用。

“如果我们使用中心按钮”(Android开发人员称之为HOME按钮)是不可能的。 可能会自动发生,但如果应用程序的进程已终止,则不会自动发生。

  

如果启动应用程序并且用户导航到任何活动,有任何方法可以使用后退按钮或中心按钮检查应用程序是否已退出,以便在使用中心按钮退出应用程序时我可以运行代码。

您不应该关心“应用程序是使用后退按钮还是中心按钮退出”。

您应该关心您的数据是否有数据以及数据的年龄,如果数据过时则刷新数据。

用户是否通过HOME,BACK,CAMERA,CALL,CATEGORY_LAUNCHER,最近的任务列表,拨打的电话,通过将手机粉碎到岩石上并将其替换为精确位置来离开您的应用重复,或通过任何其他方式,对您来说无关紧要。

举一个类比,想想一个Web应用程序。在Web应用程序中,您关心的是您是否有会话cookie以及该会话是否过时(例如,强制重新登录)。是否由于用户点击了应用中的链接,或者点击了指向您应用的第三方网站的链接,或者刷新了他们的网页,或者使用了书签来获取应用中的其他网页,或是单击显示应用程序的桌面图标,或右键单击链接并打开新选项卡或其他任何内容,对您来说无关紧要。

答案 1 :(得分:1)

http://developer.android.com/reference/android/app/Activity.html处查看Android活动生命周期。如果你什么都不做,你不能保证你的应用程序从它停止的同一点开始,但你可以在这里控制。例如,您可以重载onPause()方法以将状态保存到文件,然后onResume()重置它。