最善のアプローチ
ContentProviders。
さらに多くのデータがある場合でも、このオプションを使用すると、アプリケーション間でデータを共有するのに適しています。
Alernativeアプローチ
のApp 1(EX用:APP1パッケージ名が "com.app1" です)。
SharedPreferences prefs = getSharedPreferences("pref1",
Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("stringDemo1", strShareValue);
editor.commit();
App2が(アプリケーション1では共有環境設定からデータをフェッチ)(あなたはウルの要件など、他の30のアプリケーションのためにそれを使用することができます)。 APP1とAPP2の両方で
try {
con = createPackageContext("com.app1", 0);//first app package name is "com.sharedpref1"
SharedPreferences pref = con.getSharedPreferences(
"pref1", Context.MODE_PRIVATE);
String your_data = pref.getString("stringDemo1", "No Value");
}
catch (NameNotFoundException e) {
Log.e("Not data shared between two applications", e.toString());
}
アプリ点で最大30個のマニフェストファイル&ラベル、
android:sharedUserId="any string"
android:sharedUserLabel="@string/any_string"
が...同じであり、string.xmlをから共有ユーザーラベル必見の両方に同じ共有ユーザーIDを追加
以下の例をよく確認してください。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.xxxx"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="any string"
android:sharedUserLabel="@string/any_string">
私はこれが動作しないことを前に述べました。私は約30のアプリをこのプロバイダを作成する能力を持っている必要があります。もし私がそれらすべてに同じ権限を追加しても、同じ権限で新しいアプリをインストールすることはできません。検索ごとに30以上の権限が必要です。 –
chck update Answer –
あなたの問題を解決した場合は受け入れます。 –