2011-01-24 2 views
8

getSharedPreferences(String、int)のAPIの説明をチェックしたので、2番目の属性はアクセシビリティモードを定義しており、デフォルト操作では0またはMODE_PRIVATE、アクセス権を制御するにはMODE_WORLD_READABLEおよびMODE_WORLD_WRITEABLEを使用できます。SharedPreferencesをさまざまなAndroidアプリケーションで共有できますか?

しかし、この小さなノートには、APIの説明にあります:

注:現在、このクラス (android.content.SharedPreferences) は、複数の間で のプロセスを使用することをサポートしていません。これは後で追加されます。マーク・L.マーフィー帳「のAndroid 2を開始する」と彼は述べたでまた

を(最終的には、好みのアプリケーション間で共有可能 であってもよいが、時間 でサポートされていません かもしれませんこの書き込み)

私はとても混乱しています!これは、getSharedPrefrencesのMODE_WORLD_READABLEとMODE_WORLD_WRITEABLEが最新のAPIレベルでサポートされていますが、サポートされていないことを意味しますか?

ありがとうございます! Migan

答えて

7

この書籍の参考資料は、このコメントに基づいています。

さらに、ファイルMODE_WORLD_READABLEまたは(悪化した)MODE_WORLD_WRITEABLEを作成することは悪い考えです。あなたはセキュリティの希望を失います。

次の2つのアプリケーション間でデータを共有したい場合は、ソリューションの無数がある、など:startService()を経由して送信されたコマンドを介して公開APIでAIDL

  • サービスによって公開されたAPIと

    • サービスそして、応答がMessengerまたはcreatePendingResult()PendingIntentか何か
    • コンテンツプロバイダ
    • 放送を経由して送信されIntents

    これらのすべてを使用すると、統合のアクセス許可を定義し、アクセスの細かさを制御できます。

  • +0

    超完全な答えをありがとう! J2MEでは認証モードをAUTHMODE_ANYに設定することでRecordStoresをさまざまなアプリケーション間で簡単に共有することができますが、セキュリティはなく推奨されません。私はなぜAndroidのPrefrencesはMODE_WORLD_READABLEとMODE_WORLD_WRITEABLEをサポートしていないと信じていたのですか? – Migan

    関連する問題