2012-03-02 19 views
1

私はPreferenceActivityを使用して、Androidにいくつかの永続的なキーと値のペアを私のアプリケーション用に扱わせています。 Android Preference docsによるとAndroidの設定 - 共有可能な共有方法

:環境設定を保存し

注のみ、それらを作成したアプリケーションにアクセスできます。

一部のユーザーは好みの世界が読めると世界行うことができることを言っている

Android: Retrieving shared preferences of other application

:さらに好みのセキュリティと権限側面を研究する際

はしかし、私はこのような質問に遭遇しますそれらがアプリケーション間で正常にアクセスできることを確認します。

だから私の質問は次のとおりです。

は、アプリケーション間でinalienablyアクセスできない好みですか私はそうはそれらを作るための予防措置を取らなければならないのですか?

注:私は、環境設定を使ってアプリケーション間でデータを共有しようとしていません。正反対です - ユーザーが設定した設定が他のアプリによる検査や改ざんから安全であることを知りたいです。

+0

http://stackoverflow.com/questions/4787785/can-sharedpreferences-be-shared-among-different-android-applicationsこの回答を見る – Shruti

答えて

0

共有優先度を作成するときに定義するモードがあります。 たとえば、デバイス上の他のアプリケーションに認識させる場合は、「World Readable」または「World Writable」とすることができます。 独自のフラグを使用して、作成する共有設定の透明度を調整することができます

2

上記の回答とコメントから、このテーマに関するアンドロイドのデベロッパードキュメントは少し誤解を招くようです。

私も設定はアプリケーション全体にアクセスできないことを明示的に開発者向けドキュメントの状態別の場所を見つけました:

(アプリケーションパッケージ全体で設定データを共有することはできないことに注意してください - あなたが必要となり、そのためにコンテンツプロバイダ)が、ここで上記の引用に

リファレンス:。!http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

しかし@shrutiと@ラマンバティアからの応答(みんなありがとう)は、両方の事実股関節をサポート質問で参照したSOクエリと同様に、アプリ全体で共有可能に設定することができます。

このクリエイターは、このデフォルトの共有プリファレンスファイルが最初はプライベートとして構成されている方法を示すDifference between getDefaultSharedPreferences and getSharedPreferencesを検索していました。

ありがとうございます。その答えは、プリファレンスがアプリケーション間で共有可能になるように強要される可能性がありますが、PreferenceActivityは、デフォルトで、元のアプリケーションのコンポーネントにしか見えないセキュアな共有プリファレンスファイルを作成するという誤解を招くことです。