【问题标题】:how to disable activities after first start首次启动后如何禁用活动
【发布时间】:2014-09-08 10:57:17
【问题描述】:

我正在为 Android 开发应用程序,我想在开始后“禁用”或“隐藏”一些活动。

我尝试了共享首选项...但不知何故没有工作...

// First Start
    SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
    if(mPrefs.getBoolean("firstLaunch", true)) {

        mPrefs.edit().putBoolean("firstLaunch", false);


    }

在我的脑海中,我的想法是这样的:

第一次开始时:

  • 输入名称(活动 1)
  • 输入两个朋友(活动 2)
  • 菜单(活动 3)

当它不是第一次开始时应该这样开始

  • 菜单

希望你能帮到我

【问题讨论】:

标签: android android-activity sharedpreferences


【解决方案1】:

它适用于SharedPreferences!但是添加一个条目只是成功的一半。您还必须在应用程序开始时检查此条目。然后就可以了。

而且你必须在添加条目后调用mPrefs.commit()...

【讨论】:

  • 所以我必须在 onCreate 方法的顶部添加它,然后它会起作用吗? (我知道我仍然需要调用第三个活动的意图)
  • 正确。只需检查条目是否为真,然后继续。
  • 不客气!如果您的问题得到解决,请接受我的回答;)
【解决方案2】:

您在首选项编辑器中缺少 commit() 调用。

这个:

mPrefs.edit().putBoolean("firstLaunch", false);

应该看起来更像这样:

mPrefs.edit().putBoolean("firstLaunch", false);
mPrefs.commit();

【讨论】:

    【解决方案3】:

    试试这个来加载一个函数或活动一次

    public void onResume()
    {
    SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
        if(mPrefs.getBoolean("firstLaunch", true))
    //here you add whatever you want to do one time
    
    mPrefs.edit().putBoolean("firstrunas12", false).commit();
    }
    

    【讨论】:

    • 你是在 onResume 而不是 onCreate 中这样做的吗?
    猜你喜欢
    • 1970-01-01
    • 2020-07-30
    • 2013-04-20
    • 2015-01-15
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多