Невозможно прочитать общие настройки моего другого приложения - PullRequest
0 голосов
/ 06 марта 2019

У меня есть два приложения - приложение 1 и приложение 2
Я хочу получить доступ к данным App2 из приложения 1.
Однако мне не нужна сложная структура базы данных, мне просто нужно прочитать пару логических флагов изApp1.
Одним из способов является использование провайдера контента, где мне нужно будет определить таблицу или некоторые структурированные данные.
Намерение также будет не очень полезным, так как я не хочу запускать приложение сразу после внесения каких-либо изменений
Любой другой относительно менее сложный обходной путь?
(Я не хочу, чтобы он связывал его с каким-либо адаптером или чем-либо еще. Предположим, что в SharedPreference есть два логических значения: Value1 & Value2 в App2, и я хочу получить к нему доступ черезApp1)

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Правильный способ сделать это - создать службу в App1 и привязать к ней службу из App2.

Вот ссылка для справки.https://stuff.mit.edu/afs/sipb/project/android/docs/guide/components/bound-services.html

0 голосов
/ 06 марта 2019

первое приложение:

SharedPreferences prefs = getSharedPreferences("test_prefs",
                Context.MODE_WORLD_READABLE);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putBoolean("pref_key", true);
        editor.commit();

второе приложение:

/* where com.example is the first app containing the preferences */
Context myContext = createPackageContext("com.example",Context.CONTEXT_IGNORE_SECURITY); 

SharedPreferences testPrefs = myContext.getSharedPreferences 
    ("test_prefs", Context.MODE_WORLD_READABLE); 


 boolean data = pref.getBoolean("pref_key", false);
...