按下按钮后不显示活动,带有按钮的一次性活动
Posted
技术标签:
【中文标题】按下按钮后不显示活动,带有按钮的一次性活动【英文标题】:activity not displayed after the button is pressed, one-time activity with button 【发布时间】:2021-03-09 14:10:07 【问题描述】:如何在“启动屏幕”之后应该转到“关于程序”活动,它打开一次,然后单击“我阅读”按钮,转到“主活动”并返回根本不应该打开“关于程序” .如果你没有点击“关于程序”活动中的按钮,“关于程序”活动应该打开(直到按钮被按下)。如果您有此代码,请留下。谢谢。
新用户(未点击按钮) 启动画面 > 信息活动 |离开app,重试转app | 启动画面 > 信息活动
新闻用户(点击按钮) 启动画面 > 信息活动 > 主要活动 |离开app,重试转app | 启动画面 > 主要活动
【问题讨论】:
【参考方案1】:您可以在共享首选项中保存一个布尔值。 如果它错误地将用户导航到信息活动。 在按钮上单击将 bool 值更改为 true。 如果为 true,则将用户导航到主要活动。
在Splash中检查布尔值
SharedPreferences sharedpreferences = getSharedPreferences("MyPref",Context.MODE_PRIVATE);
boolean value= sharedpreferences .getBoolean('yourKey',false);
if(!value)
//navigate user to info activity
else
//navigate user to Main activity
点击阅读按钮
//............将布尔值设为真............
SharedPreferences sharedpreferences = getSharedPreferences("MyPref",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedpreferences .edit();
editor.putBoolean("yourKey", true);
editor.apply();
【讨论】:
有没有类似这个过程的代码副本 “预期有 2 个参数,但找到了 1 个”我有错误 布尔值 = sharedpreferences.getBoolean("yourKey"),false); 它的工作,非常感谢你;'-)【参考方案2】:使用短代码保存的最佳方式
保存
PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean("KEY", true).apply();
获取保存的布尔值
boolean b = PreferenceManager.getDefaultSharedPreferences(context).getBoolean("KEY", false);
【讨论】:
尝试添加 youractivity.this 而不是 context以上是关于按下按钮后不显示活动,带有按钮的一次性活动的主要内容,如果未能解决你的问题,请参考以下文章
如果第一次从 App Manager 运行应用程序,为啥 Android 在按下 Home 按钮后不保留应用程序状态?