我用代码调用不同的应用程序:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.mypackage","com.mypackage.UI.SplashActivity"));
intent.putExtra("URI", path);
startActivity(intent);
然后在被调用的应用程序中有代码:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
int currentResolution = prefs.getInt(Values.CURRENT_RESOLUTION_SETTING, 1200);
它总是给我1200.我认为是因为我不直接启动应用程序。如何访问首选项?
答案 0 :(得分:0)
无论您做什么,除非:
,否则您无法访问其他应用程序的数据ContentResolver
,
广播或服务绑定)以使其数据可用答案 1 :(得分:0)
Waqas说的是正确的,你不能使用其他应用程序数据/共享偏好,除非它以某种方式共享。但是,如果您有权访问这两个应用程序,则不应使用:
PreferenceManager.getDefaultSharedPreferences();
由于默认使用MODE.PRIVATE,这意味着您只能从其初始化的应用中读取共享首选项。
如果您可以访问这两个应用程序,则可以使用:
PreferenceManager.setDefaultValues();
为了更改默认模式或使用名称和模式的首选项而不是默认使用:
getSharedPreferences(NAME, MODE);
您可以在docs中阅读更多内容,并了解它是否符合您的需求。