我想知道是否以及如何检测我的应用程序是否已在过去的某个Android设备上运行。我希望每次手机重新启动时都能检查我的应用程序是否已经运行并检索一些私人数据。如果不只是创建这些数据。
答案 0 :(得分:3)
您可以在应用程序的SharedPreference中存储一个简单值。
将此插入主活动中的onCreate()
SharedPreferences shared = getSharedPreferences("config", 0);
if (shared.getBoolean("hasRunBefore", false))
{
// have run before.
}
else
{
SharedPreferences.Editor editor = shared.edit();
editor.putBoolean("hasRunBefore", true);
editor.commit();
// have not run before
}
答案 1 :(得分:1)
正如其他人所说,读取和写入此信息的最简单方法是在SharedPreferences中。但是,您说每次手机重新启动时都要这样做。实现这一点的方法是实现BroadcastReceiver并注册以接收ACTION_BOOT_COMPLETED消息,并确保为您的清单添加RECEIVE_BOOT_COMPLETED的权限。
http://developer.android.com/guide/appendix/faq/commontasks.html#broadcastreceivers http://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED http://developer.android.com/reference/android/Manifest.permission.html#RECEIVE_BOOT_COMPLETED
答案 2 :(得分:0)
检查此数据是否存在?或者将某些内容放在应用程序的默认PreferenceManager中
答案 3 :(得分:0)