0

我只想在应用程序第一次启动时在 android 中运行一次 AsyncTask。

我试图将共享首选项放在 onCreate 中,但它没有用。还有其他想法吗?

SharedPreferences prefscrt = PreferenceManager.getDefaultSharedPreferences(this);
        if(!prefscrt.getBoolean("firstTime", false)) {
        Log.d("DownloadManager", "Installing First Time");  

new Task().execute();  //THIS WON'T WORK


SharedPreferences.Editor editor = prefscrt.edit();
        editor.putBoolean("firstTime", true);
        editor.commit();
        }

在此先感谢马兹

4

2 回答 2

0

试试这个代码:

SharedPreferences prefs = getSharedPreferences("firstTime", MODE_PRIVATE);
registartion = prefs.getBoolean("firstTime", false);

现在把你的 if 条件

于 2013-03-01T06:39:09.543 回答
0

1.首先检查值是否为空,如果为空,则使用 sharedpref 并保存它们.. 2.但在第二次再次检查他们是否已经 sharedpref 运行您的代码。

private Boolean firstTime = null;
  SharedPreferences mPreferences = this.getSharedPreferences("first_time", Context.MODE_PRIVATE);
  firstTime = mPreferences.getBoolean("firstTime", true);
  private boolean isFirstTime() {
 if(firstTime == null) {
      SharedPreferences.Editor editor = mPreferences.edit();
      editor.putBoolean("firstTime", false);
      editor.commit();
      new Task().execute(); 
  if (firstTime!=null) {

    }
}
return firstTime;
}
于 2013-03-01T06:39:29.530 回答