5

既に市場に出回っているアプリがあります。これを「古いアプリ」と呼びましょう。以前のアプリとデータを共有する「新しいアプリ」を作成したいと思います。SharedID を使用することにしました。

次の行を追加して、新しいアプリのマニフェストを変更しました。

android:sharedUserId="com.myname.myoldapp"

com.myname.myoldapp は古いアプリ パッケージの名前です。しかし、うまくいきません。

新しいアプリで古いアプリのデータにアクセスするにはどうすればよいですか? 古いアプリの userId を新しいアプリの shareduserid と一致するように変更することは、明らかにオプションではありません。古いアプリは既にオンラインであり、それを更新するすべてのユーザーが個人データを失うからです。

PS: 証明書は同じです。

ありがとうございました、。

4

1 に答える 1

5

既に市場に出回っているアプリがあります。これを「古いアプリ」と呼びましょう。以前のアプリとデータを共有する「新しいアプリ」を作成したいと思います。SharedID を使用することにしました。

既存のインストールをすべて壊すことなく、それはもはや不可能です。

新しいアプリのマニフェストを変更して、次の行を追加しました: android:sharedUserId="com.myname.myoldapp" ここで、com.myname.myoldapp は古いアプリ パッケージの名前です。しかし、うまくいきません。

のドキュメントandroid:sharedUserIdを読むと、次のように説明されていることがわかります。古いアプリには がないためandroid:sharedUserId、新しいアプリを古いアプリのandroid:sharedUserId値に設定することはできません。

新しいアプリで古いアプリのデータにアクセスするにはどうすればよいですか?

を使用しServiceます。またはContentProvider。または、Android でサポートされているその他の形式の IPC。古いアプリは、新しいアプリが古いアプリのデータにアクセスするために使用できる IPC ベースの API を公開する必要があります。カスタムsignatureレベルのアクセス許可を使用して、これらの API へのアクセスを自分のアプリだけに制限できます。

于 2013-03-21T13:00:04.540 に答える