运行 仅在第一个 OnCreate 上的代码

Run code on first OnCreate only

我有一段代码只想 运行 第一次调用特定 OnCreate() 方法时(每个应用程序会话),而不是每次 activity被建造。在 Android 中有没有办法做到这一点?

使用 sharedpreference...第一次将值设置为 true...在每次 运行 检查值是否设置为 true...并根据条件执行代码

例如

SharedPreferences preferences = getSharedPreferences("MyPrefrence", MODE_PRIVATE);
                if (!preferences.getBoolean("isFirstTime", false)) {
  //your code goes here
 final SharedPreferences pref = getSharedPreferences("MyPrefrence", MODE_PRIVATE);
                    SharedPreferences.Editor editor = pref.edit();
                    editor.putBoolean("isFirstTime", true);
                    editor.commit();
}

使用 static 变量。

static boolean checkFirstTime;

在您的 activity 中使用静态变量,如下所示

private static boolean  DpisrunOnce=false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_run_once);
    if (DpisrunOnce){
        Toast.makeText(getApplicationContext(), "already runned", Toast.LENGTH_LONG).show();
//is already run not run again
    }else{
//not run do yor work here
        Toast.makeText(getApplicationContext(), "not runned", Toast.LENGTH_LONG).show();
        DpisrunOnce =true;
    }
}

protected void onCreate(Bundle savedInstanceState) 应有尽有。

如果savedInstanceState == null那么是第一次

因此您不需要引入额外的静态变量。