从不同的应用程序访问共享首选项文件

时间:2014-02-20 08:58:00

标签: java android preferences

我正在试图访问在不同的应用程序中创建的共享首选项文件。我按照一些教程但没有工作。这是我的情况:

App1(com.example.remoteservice)

SharedPreferences configuracion2;
                configuracion2 = getSharedPreferences("telo", Context.MODE_WORLD_READABLE);

                Editor editor = configuracion2.edit();
                editor.putFloat("x21", Float.parseFloat(x21.getText().toString()));
                editor.commit();

App2(com.example.grafica)

    Context con = createPackageContext("com.example.remoteservice", MODE_WORLD_WRITEABLE);
            SharedPreferences pref = con.getSharedPreferences(
                    "telo",MODE_WORLD_READABLE);

            ancho = pref.getFloat("x21", 0);

Log.i("smash", "ancho" + String.valueOf(ancho));

并且返回0因为不存在“telo”。为什么??

感谢

1 个答案:

答案 0 :(得分:0)

App1(com.example.remoteservice)

SharedPreferences configuracion2;                 configuracion2 = getSharedPreferences(“telo”,Context.MODE_WORLD_READABLE);

            Editor editor = configuracion2.edit();
            editor.putFloat("x21", Float.parseFloat(x21.getText().toString()));
            editor.commit();

App2(com.example.grafica)

Context con = createPackageContext("com.example.remoteservice", Context.CONTEXT_IGNORE_SECURITY); 
        SharedPreferences pref = con.getSharedPreferences(
                "telo",MODE_WORLD_READABLE);

        ancho = pref.getFloat("x21", 0);

Log.i(“smash”,“ancho”+ String.valueOf(ancho));

这应该解决它。此调用之前也不要调用当前上下文的getSharedPreferences()。