Android:确定应用程序何时完成

时间:2010-03-21 03:56:18

标签: android

我昨天发布了一个问题,关于确定应用程序何时最终确定与销毁屏幕方向更改。感谢我收到的答案,我能够通过更改屏幕方向来解决我的问题。但是,我仍然遇到了障碍。 我正在使用的这个应用程序登录到一个带有HttpClient的网站。只要应用程序保留在内存中,HttpClient就会保留登录的cookie。但是,一旦它被杀死,它将需要再次登录。 我的问题:如何确定应用程序何时从内存中被杀死所以我可以将布尔值设置为false告诉应用程序它已从内存中删除,以便下次启动它时将读取此内容并确定是否必须再次登录?或者是否可以序列化HttpClient并将其放在savedInstanceState包中?可以从客户端提取cookie并将它们放在savedInstanceState包中吗?有没有我在这里完全失踪的东西? 非常感谢任何帮助或正确方向上的一点,因为这个让我难过。谢谢!

1 个答案:

答案 0 :(得分:1)

  

如何确定应用的时间   从记忆中被杀死所以我可以设置   一个布尔值为false告诉应用程序它   已被从记忆中移除所以   下次启动它会读到这个   并确定是否必须再次登录?

恕我直言,这是错误的问题。

正确的问题是:“我怎么能说饼干消失了?”

这是很多更接近真正的业务问题(“我怎么知道我是否必须再次登录?”)因此将涵盖更多潜在的边缘和角落情况,而不是假设某些系统事件是饼干消失的唯一来源。

此外,它更容易:您的HttpClient对象可以让您访问CookieStore,并且您可以迭代这些Cookie以查看您的是否在那里。不可否认,如果他们在这个类上有更直接的方法来进行这样的查找,那就太好了。

因此,在您访问Web应用程序之前,请检查cookie是否存在,并在需要时弹出登录对话框/活动/。

  

或者是否可以序列化   HttpClient并把它放在   savedInstanceState bundle?

没有

  

可以从中提取cookie   客户并将其放入   savedInstanceState bundle?

是的,但是你会有一段时间将他们带回CookieStore,IIRC。