-2

インストール後にアプリケーションが初めて実行されたら、コードを実行したいと思います。二度とそれを行う方法

以下はコードです ここに私が試している方法があります

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SecurityPrefs.setAutoSavePattern(this, true);

    String settingsTAG = "AppNameSettings";
    SharedPreferences prefs = getSharedPreferences(settingsTAG, 0);
    boolean run = prefs.getBoolean("run", false);

    if (run == false)
    {
        run = true;
    Intent intent = new Intent(LockPatternActivity.ACTION_CREATE_PATTERN, null,
            this, LockPatternActivity.class);
    startActivityForResult(intent, REQ_CREATE_PATTERN);


    }
    else
    { Intent intent1 = new Intent(LockPatternActivity.ACTION_COMPARE_PATTERN,null,this,LockPatternActivity.class);

    startActivityForResult(intent1, REQ_ENTER_PATTERN);
    }


}
4

2 に答える 2

2

それで、あなたが直面している問題は何ですか?

String settingsTAG = "AppNameSettings";
SharedPreferences prefs = getSharedPreferences(settingsTAG, 0);
boolean run = prefs.getBoolean("run", false);

初めて実行した後、共有設定を更新し、「実行」にtrueを保存した場合、コードは機能するはずです。

于 2013-07-18T08:48:45.267 に答える
0

次のようにコードを編集します。

   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SecurityPrefs.setAutoSavePattern(this, true);

        String settingsTAG = "AppNameSettings";
        SharedPreferences prefs = getSharedPreferences(settingsTAG, 0);
        boolean run = prefs.getBoolean("run", false);

        if (run == true)
        {

        Intent intent = new Intent(LockPatternActivity.ACTION_CREATE_PATTERN, null,
                this, LockPatternActivity.class);
        startActivityForResult(intent, REQ_CREATE_PATTERN);
        }
        else
        {
           SharedPreferences.Editor editPrefs = prefs.edit();  
           editPrefs.putBoolean ( "run", true );
           editPrefs.commit();          
           Intent intent1 = new       Intent(LockPatternActivity.ACTION_COMPARE_PATTERN,null,this,LockPatternActivity.class);

        startActivityForResult(intent1, REQ_ENTER_PATTERN);
        }
    }

最初の実行後、実行の値をtrueelse部分のsharedpreferenceに設定する必要があります。

于 2013-07-18T08:49:21.027 に答える