繁体   English   中英

Android:无法解决方法createPackageContext()错误

[英]Android: cannot resolve method createPackageContext() error

我是Android新手。 使用Android Studio,我正在创建两个Application应用程序,我需要在其中将一个共享的首选项值从一个应用程序发送到另一个应用程序。 我尝试了以下代码:

APPLICATION-I Java文件:

 SharedPreferences sharedPreferences = getSharedPreferences("swlpref",Context.MODE_WORLD_READABLE);
    final String password = sharedPreferences.getString(PASSWD, "empty");
    final String rpassword = sharedPreferences.getString(RPASSWD, "empty");

            if (password.equals(rpassword)) {
                TextView textViewPass = (TextView) findViewById(R.id.pass_pref_text);
                textViewPass.setText(String.valueOf(password));
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.putString("swlstring", password);
                editor.commit();
            }
            else
            {
                Toast.makeText(getBaseContext(), "Password does not match",   Toast.LENGTH_SHORT).show();
            }

APPLICATION-II Java文件:

power.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Context con;
            try {
                con = createPackageContext("com.gokul.security", Context.CONTEXT_IGNORE_SECURITY);
                SharedPreferences pref = con.getSharedPreferences(
                        "swlpref", Context.MODE_PRIVATE);
                String data = pref.getString("swlstring", "No Value");
            }

            catch (PackageManager.NameNotFoundException e) {
                Log.e("Not data shared", e.toString());
            }
    }
});

APPLICATION-I没有错误。但是问题出在Application-II,其中

无法解析方法createPackageContext()

显示错误。

我还导入了android.content.Context包。

我仍然无法解决此错误。 我已经尝试了几个小时,但无济于事。

请帮助。 提前致谢。

默认情况下,共享首选项对应用程序是私有的。 为什么不尝试在sdcard中创建数据库?

刚刚看到您已经定义了Mode_private,它将不允许它们在包之间共享

我解决了 我创建了一个新的Java活动文件。 并在该活动中粘贴Application-II的那些代码。 使用Application-II中的“ Intent”,我能够解决此问题。

power.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent i = new Intent(v.getContext(),
                    Check.class);
            startActivityForResult(i, 0);

“ Check.java”是我的新Java活动。 将那些共享的首选项语句粘贴到此处,并且显示未显示错误的createPackageContext()方法。

谢谢凯的帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM