我想在我的应用程序的第一次启动时运行一些代码,它是将过去一周的SMS消息同步到我的Web应用程序。我不确定如何在一周内过滤掉任何内容,但这是我获取所有短信的代码:
Uri allMessage = Uri.parse("content://sms/");
ContentResolver cr = getContentResolver();
Cursor c = cr.query(allMessage, null, null, null, null);
while (c.moveToNext()) {
String row = c.getString(1);
//upload the recent 1 week sms messages to the server's database
}
我想只运行一次这个代码,所以第一次打开时就是这样。
答案 0 :(得分:4)
使用SharedPreferences
。例如:
SharedPreferences settings = getSharedPreferences("MyPrefs", 0);
boolean firstTime = settings.getBoolean("FirstTime", true);
if (firstTime) {
// execute your one time code...
// change the value in the shared preferences:
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("FirstTime", false);
editor.commit();
}
答案 1 :(得分:1)
您还可以创建一个扩展Application
的类。然后,这将仅在您的应用启动时运行。