为了账号安全,请及时绑定邮箱和手机立即绑定

Android 应用中的 EULA 对话框

Android 应用中的 EULA 对话框

不负相思意 2021-06-28 13:47:08
我想创建一个仅在第一次打开应用程序时显示 EULA 对话框的 Android 应用程序。在这种情况下,如果用户点击接受,应用程序应该继续正常运行,或者如果用户点击拒绝,应用程序应该关闭。如果用户曾拒绝过一次,则每次他/她打开应用程序时都会提示他/她接受 EULA,直到他/她接受 EULA。问题是,Android studio 被标记if(!agreed)为 Unexpected token。我应该怎么做才能解决它?另外,这种方法是否正确实现我在开始时解释的内容?
查看完整描述

3 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

您的问题是由错误的 Java 语法引起的。你不能直接嵌套在类体中编写可执行代码,它不会编译!

为了使其工作,您可以将代码 ( if(!agreed) {...})括在大括号中,{if(!agreed){...}}这将使其成为初始化程序。此代码将正确编译,但在您的情况下,您仍然可能遇到问题..

由于您在 Android 上,运行初始化代码的标准方法是在内部onCreate()回调方法中编写,这Activity是创建新方法时运行的第一个方法。


查看完整回答
反对 回复 2021-07-14
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

你不能在那里添加你的代码,这是非法的(至少,没有声明它的范围)。


@Override

protected void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);

    this.setContentView(R.layout.activity_main);


    final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

    if(! sharedPreferences.getBoolean("agreed", false)) {


        new AlertDialog.Builder(this, R.style.AlertDialog)

                .setIcon(R.drawable.ic_error_black_24dp)

                .setTitle(R.string.eula_title)

                .setMessage(R.string.eula)

                .setPositiveButton(R.string.accept, new DialogInterface.OnClickListener()

                {

                    @Override

                    public void onClick(DialogInterface dialog, int which)

                    {

                        SharedPreferences.Editor editor = sharedPreferences.edit();

                        editor.putBoolean("agreed", true);

                        editor.apply();


                        dialog.dismiss();

                    }

                })

                .setNegativeButton(R.string.decline, new DialogInterface.OnClickListener()

                {

                    @Override

                    public void onClick(DialogInterface dialog, int which)

                    {

                        finish();

                    }

                })

                .show();

    }


...

}


查看完整回答
反对 回复 2021-07-14
  • 3 回答
  • 0 关注
  • 320 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信