有没有办法定义像" session"对于Android应用程序?
我有一个启动多个活动的应用程序和应用程序从活动到活动的用户等
当然可以切换到另一个应用程序,接听电话,停止使用应用程序,因为他很忙,所以应用程序在后台等。
是否有一种简单而有意义的方法可以在所有这些不同情况下定义类似单个会话的内容?这样我们可以判断新会话何时开始并可能为每个会话存储一些数据?
答案 0 :(得分:8)
您可以使用 SharedPreferences ...
SharedPreferences wmbPreference1,wmbPreference2;
SharedPreferences.Editor editor;
//wmbPreference1 for Shared Prefs that lasts forever
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this);
//wmbPreference2 for Shared Prefs that lasts only just once each time program is running
wmbPreference2 =getApplicationContext().getSharedPreferences("MYKEY",Activity.MODE_PRIVATE);
保存值
SharedPreferences.Editor editor = wmbPreference1.edit();
editor.putString("MYKEY", "12345");
editor.commit();
您可以检索值,如
String Phonenumber = wmbPreference1.getString("MYKEY", "");
MYKEY 是键名,您可以通过它来识别值。
答案 1 :(得分:0)
不幸的是,由开发人员来定义一个'会话'在Android中。由于您的活动可以在一分钟内接听电话,然后返回前台 - 是同一会话还是两个会话的一部分?差距20分钟怎么样?您可以存储时间戳,但是您有责任过期'并实施适当的行为。