McDaggen Asked:2020-10-25 19:33:14 +0000 UTC2020-10-25 19:33:14 +0000 UTC 2020-10-25 19:33:14 +0000 UTC 赶上应用程序的首次启动 772 请理论上解释如何捕捉应用程序的首次启动?看这里,不是那个,一切都太麻烦了。 java 2 个回答 Voted Best Answer Komdosh 2020-10-25T19:36:11Z2020-10-25T19:36:11Z 在那个问题中,只需在应用程序启动后将变量IsFirstTimeLaunch放入 中即可。SharedPreferences然后,在每次启动应用程序之前,他们都会检查它,如果它已初始化并且等于true,则该应用程序已经在此设备上启动。 McDaggen 2020-10-25T20:46:06Z2020-10-25T20:46:06Z 一般来说,如果有人感兴趣,那么我这样做了: 初始化静态String和变量类型boolean; private static final String firstStartApp = "first_start"; private boolean firstStart; 在我设置onCreate的变量方法中;firstStarttrue firstStart = true; 在我设置并保存onDestroy的变量方法中;firstStartfalseSharedPreferences firstStart = false; mEditor.putBoolean(firstStartApp, firstStart); mEditor.apply(); 由于最初传递的值true,然后false,SharedPreferences保存最后一个值,并且在最开始的时候,在方法onStart中,我对变量的状态进行了简单的检查firstStart,SharedPreferences因为它的最后一个值是false,true第二次和随后的时间将不再工作; boolean isCheck = mPreferences.getBoolean(firstStartApp, firstStart); 好吧,在这里您实际上可以提出一个条件: if (isCheck) { Toast.makeText(this, "Первый запуск", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "Уже было запущено", Toast.LENGTH_SHORT).show(); }
在那个问题中,只需在应用程序启动后将变量
IsFirstTimeLaunch放入 中即可。SharedPreferences然后,在每次启动应用程序之前,他们都会检查它,如果它已初始化并且等于true,则该应用程序已经在此设备上启动。一般来说,如果有人感兴趣,那么我这样做了:
初始化静态
String和变量类型boolean;在我设置
onCreate的变量方法中;firstStarttrue在我设置并保存
onDestroy的变量方法中;firstStartfalseSharedPreferences由于最初传递的值
true,然后false,SharedPreferences保存最后一个值,并且在最开始的时候,在方法onStart中,我对变量的状态进行了简单的检查firstStart,SharedPreferences因为它的最后一个值是false,true第二次和随后的时间将不再工作;好吧,在这里您实际上可以提出一个条件: