2012-02-10 5 views
0

私はずっと前にAndroidマーケットで自分のアプリを公開しましたが、今は他のアプリとデータを共有できるようにsharedUserIdを変更したいと思います。私が単にそれを変更した場合、the new version cannot read files created by the old version。問題を回避するために私が考えることができる唯一の方法は、すべて面倒でエラーが起こりやすいです。一時的なストレージとしてSDカードを使用することにはいくつかの落とし穴があり、私のアプリで2.1 SDKが使用されているためファイルのパーミッションを変更できません。アンドロイドの変更方法:公開アプリのsharedUserId?

誰もがこの問題を処理する(簡単で信頼できる)方法を知っていますか?

事前のおかげで...

答えて

1

私が提案するつもり何実装されていませんでしたが、私はそれが可能だと思います。次の考えを考えてみてください(問題が一般的だと思うので、コードを実装してコードを公開するといいでしょう)。

新しい更新プログラムを適用した古いバージョンのアプリケーションでは、プライベートファイルを共有するコンテンツプロバイダを作成できます。レベルシグネチャを使用してこのコンテンツプロバイダにアクセス許可をインストールできます。その後、新しいアプリケーションでこのコンテンツプロバイダに格納されているデータをクエリできます。したがって、2つのアプリケーションがあります.1つはコンテンツプロバイダに、もう1つはこのコンテンツプロバイダを使用してデータをダウンロード(クエリ)します。

幸運を祈る!

+0

2つのアプリ(パッケージ名が異なる)または同じアプリの2つのバージョンはありますか?あなたが最初のことを意味するならば、新しいアプリケーションを作成するには、ユーザーに新しいアプリをインストールする必要があります。これは容認できません。同じアプリケーションの2つのバージョンを意味する場合、新しいバージョンは古いバージョンを上書きするため、ContentProviderも削除されます。 –

+0

いいえ、私は2つのプログラムを意味しました。しかし、この場合、なぜあなたはsharedUserIdが必要ですか? – Yury

+0

私はこれとInmatesを使って(動作している)と思っていましたが、これは単にファイルを共有するよりも融通性が低いため、上記の厄介な方法の1つです。 –

関連する問題