【问题标题】:Dialog Save at android, startup对话框保存在android,启动
【发布时间】:2012-04-06 13:28:23
【问题描述】:

我正在尝试制作一个 webview 应用程序,但我卡在了某个地方。

当我第一次启动应用程序(安装)时,它应该会问一个问题,例如:

您是否阅读了服务条款?

如果我选择“是”,应用程序应该记住它,并且不应该再次询问程序是否稍后再次启动。如果我选择“否”,应用程序应该终止,并且在下次启动应用程序时它应该问同样的问题。

我真的卡住了,我找不到这样的教程。

【问题讨论】:

    标签: android save-dialog


    【解决方案1】:

    我将创建一个加载活动,检查它是否要求用户接受权限 (TOS),然后它是否已进入主活动,如果没有显示并等待。在加载活动的 oncreate 中试试这个

    SharedPreferences sp = getSharedPreferences("TOS", Context.MODE_PRIVATE);
    boolean hasAccepted = sp.getBoolean("accepted", false);
    if(hasAccepted)
    {
        //start next activity
    }else {
        ///display the TOS
    }
    

    然后为调用这些方法的是/否按钮创建一个监听器

    public void onClickYes(){
     SharedPreferences sp = getSharedPreferences("TOS", Context.MODE_PRIVATE);
     sp.edit().putBoolean("accepted", true).commit();
    }
    
    public void onClickNo(){
      finish();
    }
    

    这是在应用加载时尝试让 SharedPreference “接受”。如果找不到它,则使用默认值 false 因此 (sp.getBoolean("accepted", false")。然后,如果用户接受 tos,则将“已接受”的 SharedPreference 存储为 true。所以下次应用程序加载它将能够找到首选项并返回 true,因此不显示 TOS

    【讨论】:

    【解决方案2】:

    我会在本地存储一个属性以在启动时读取。这里是 API http://developer.android.com/reference/java/util/Properties.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多