在人们说这是“检查android是否首次运行”的重复之前,这个问题是检查活动本身(而不是整个应用程序)是否是第一次打开。
我有许多不同的活动在运行“材料点击目标提示”,因此有一些弹出窗口解释了按钮和功能。 但我只希望它能为首次用户运行。
现在,我尝试了以下操作:
if (prefs.getBoolean("firstRun", true)) {
prefs.edit().putBoolean("firstRun",false).apply();
........Do the pop ups
}
但这将为整个应用设置它,因此,当用户进入下一个屏幕时,由于布尔值设置为false,因此它将无法运行。
所以我试图找到一种方法来检查活动本身是否是第一次打开,但是我似乎找不到能解决此问题的任何东西。
我考虑过使用变量,然后将其设置为1。但是,如果用户重新启动应用程序,则该应用程序将崩溃,则该var将被重置。
可能的另一种选择是在数据库中创建一行,然后根据活动将其设置为1或其他值。
但是也许有更简单的方法?
谢谢
答案 0 :(得分:1)
为什么不只为每个活动创建首选项键。下面添加了示例代码:
if (prefs.getBoolean(MainActivity.class.getCanonicalName(), true)) {
prefs.edit().putBoolean(MainActivity.class.getCanonicalName(),false).apply();
........Do the pop-ups
}