按下按钮后不显示活动,带有按钮的一次性活动

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

以上是关于按下按钮后不显示活动,带有按钮的一次性活动的主要内容,如果未能解决你的问题,请参考以下文章

带有软键盘和“返回”按钮的 EditText

当用户按下返回按钮关闭活动时保存和恢复活动状态

如何防止活动在按下按钮时加载两次

如果第一次从 App Manager 运行应用程序,为啥 Android 在按下 Home 按钮后不保留应用程序状态?

开始一个新的活动......但是只希望它的 asynctask 只调用一次

按下后退按钮时避免启动屏幕活动