【发布时间】:2014-05-14 19:29:56
【问题描述】:
我正在开发 Android 应用程序A,以便另一个B 可以读取A 的SharedPreferences。
在android.content.Context 的javadoc 中,关于MODE_WORLD_READABLE 和MODE_WORLD_WRITEABLE 的内容如下:
此常量在 API 级别 17 中已弃用。创建全局可写 文件非常危险,可能会导致安全漏洞 应用程序。强烈建议不要这样做;相反,应用程序应该 使用更正式的交互机制,例如
ContentProvider,BroadcastReceiver和Service。
据此,A 应将其SharedPreferences 与MODE_PRIVATE 标志一起保存并提供ContentProvider,以便B 可以查询A 的ContentProvider。但是我怎么知道SharedPreferences Uri?
我想这就像content://authority_name/preference_file_name 但这对我不起作用。如果有任何正确的例子,我将不胜感激。
一般来说,是否可以访问其他应用的MODE_PRIVATESharedPreferences?
【问题讨论】:
-
不,无法访问其他应用的 MODE_PRIVATE Sahredpreferences。可以参考链接developer.android.com/reference/android/content/…
-
@Madhu 如果我知道 Provider 的权限和 Preference 的文件名,是否可以将 SharedPreferences 与 ContentProvider 接口?
-
我们无法将 SharedPreferences 与 ContentProvider 接口
-
这两个应用都是你自己开发的吗?
-
使用内容提供程序将值存储在数据库表中,然后您可以从那里获取表的 uri。然后从 App B 访问 uri 中的这些值
标签: android sharedpreferences android-contentprovider android-preferences