2

MODE_PRIVATEを使用しながら、2つの異なるアプリケーション間で設定を共有するこの優れた手法を実装しようとしています。

私の問題は、最初のアプリケーションが最初のアプリケーションがインストールされていると想定できないことです(その逆も同様です)。

 Context c = createPackageContext("com.app.first", MODE_PRIVATE);

次のように置き換える必要があります。

 Context c = createPackageContext("com.app.shared", MODE_PRIVATE);

しかし、それは実際にそれを追加することを義務付けていcom.app.sharedます、それは2番目のAPKに変換されますか?

つまり、APKごとに1つ、マニフェストファイルごとに1つだけです。 したがって、APKごとに1つの実際のパッケージのみですか?AndroidManifest.xml <manifest package= >

アプリケーションごとに2つのAPKは必要ありません。アプリケーションごとに、1つのAPKだけが必要です。

これを達成する方法はありますか?

4

1 に答える 1

2

MODE_PRIVATEを使用しながら、2つの異なるアプリケーション間で設定を共有するこの優れた手法を実装しようとしています。

実は、それは私が答えを削除したほどの反素晴らしいテクニックです。使用するandroid:sharedUserIdのは危険であり、すでにデプロイされているアプリではまったく不可能です。そこに答えを投稿してから2年で自分のやり方の誤りを知りました。

また、ユーザーがインストールするアプリとアンインストールするアプリを制御できないため、この手法は確実に機能しません。アプリAとアプリBの両方がアプリAのコピーを使用して設定を共有している場合、ユーザーがアプリAをアンインストールすると、アプリBは無効になります。

したがって、APKごとに1つの実際のパッケージのみですか?

正しい。

アプリケーションごとに2つのAPKは必要ありません。アプリケーションごとに、1つのAPKだけが必要です。

2つのアプリケーションの場合、それぞれ独自のパッケージ名を持つ2つのAPKファイルがあります。

于 2012-08-03T22:39:19.520 に答える