SharedPreferences管理不同的包

时间:2015-12-11 19:42:17

标签: android sharedpreferences java-package

我正在使用软件包com.example1开发一个应用,并且我正在使用另一个模块作为包com.example2的库。

在我的模块(com.example2)上我使用了这个静态函数:

    public static void saveLastDownload(Activity mActivity, long numberLong) {
        SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_APPEND);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putLong(dataLastDownloadKey, numberLong);
        boolean commit = editor.commit();
    }

    public static long readLastDownload(Activity mActivity, long defaultValue) {
        SharedPreferences sharedPref = mActivity.getPreferences(Context.MODE_PRIVATE);
        return sharedPref.getLong(dataLastDownloadKey, defaultValue);
    }

我试图从saveDownload尝试readLastDownloadcom.example1,但我对这些共享偏好没有任何价值。如何以现代方式阅读此值(没有任何安全漏洞,尽管我对将其设为私有无兴趣)。

我怎么能这样做?

非常感谢你。

1 个答案:

答案 0 :(得分:2)

如果您想使用偏好设置执行此操作:MODE_WORLD_READABLE

  

创建世界可写文件非常危险,可能会导致   应用程序中的安全漏洞强烈劝阻;代替,   应用程序应该使用更正式的交互机制,例如    ContentProviderBroadcastReceiverService