在人们说这是“检查 android 是否首次运行”的重复之前,这个问题是检查活动本身(而不是整个应用程序)是否第一次打开。我有不同的活动来运行 Material Tap Target Prompt,所以有几个解释按钮和功能的弹出窗口。但我只希望它为第一次使用的用户运行。现在我尝试了以下方法: if (prefs.getBoolean("firstRun", true)) { prefs.edit().putBoolean("firstRun",false).apply(); ........Do the pop ups}但这将为整个应用程序设置它,因此当用户进入下一个屏幕时,它不会运行,因为布尔值设置为 false。所以我试图找到一种方法来检查活动本身是否是第一次打开,但我似乎找不到任何可以解决这个问题的方法。我想过使用变量然后将其设置为 1。但是如果用户重新启动应用程序,它会崩溃等,那么该变量将被重置。可能的其他选择是在数据库中创建一行,然后根据活动检查它是否设置为 1 或其他值。但也许有更简单的方法?
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
为什么不为每个活动创建首选项键。下面添加了示例代码:
if (prefs.getBoolean(MainActivity.class.getCanonicalName(), true)) {
prefs.edit().putBoolean(MainActivity.class.getCanonicalName(),false).apply();
........Do the pop-ups
}
添加回答
举报
0/150
提交
取消