Как использовать sharedpreferens между двумя приложениями? - PullRequest
0 голосов
/ 27 мая 2020

X и Y два приложения. Они не подклассы друг друга. Я хочу записать строку из приложения X в Y с помощью SharedPreferences и прочитать ее из приложения Y.

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Создать общие данные предпочтений в первом приложении, установите режим MODE_WORLD_READABLE

SharedPreferences mSharedPrefs = getSharedPreferences("Prefs_First", MODE_WORLD_READABLE);
SharedPreferences.Editor editor = mSharedPrefs.edit();
editor.putString("name", etName.getEditableText().toString());
editor.putString("password", etPassword.getEditableText().toString());
editor.commit();

Чтобы получить доступ к этим данным из другого приложения, попробуйте следующее:

Context mContext = createPackageContext("com.sample.globalsharedpreference", CONTEXT_IGNORE_SECURITY);

SharedPreferences firstAppSharedPrefs = mContext.getSharedPreferences("Prefs_First", Context.MODE_WORLD_READABLE);

String strName = firstAppSharedPrefs.getString("name", "");
String strPassword = firstAppSharedPrefs.getString("password", "");

Обратите внимание, что com.sample.globalsharedpreference - это имя пакета первого приложения.

0 голосов
/ 27 мая 2020
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.firstapp"
android:versionCode="1"
android:versionName="1.0" 
android:sharedUserId="com.example">

Также вам может потребоваться заменить Context.MODE_PRIVATE на Context.CONTEXT_RESTRICTED

myContext = context.createPackageContext(
                        "com.example.secondapp",
                        Context.MODE_PRIVATE);
 shared= myContext.getSharedPreferences("fileName", Activity.MODE_PRIVATE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...