バックグラウンド
バージョン 4.2 以降、Android はマルチユーザーをサポートしています (こことここにリンク)。
各ユーザーには独自のアプリがあり、そのプライベート データはユーザーだけが見ることができます。
質問
ユーザーごとのデータのカプセル化は、パスとファイルへのアクセスに関してどのように機能しますか?
つまり、各ユーザーごとのパスは次のようになります。
- プライベートな内部ストレージ。
- エミュレートされた外部ストレージ (内蔵外部ストレージ)
- 「実際の」外部ストレージ (SD カード)
?
ユーザーは、他のユーザーが所有する SD カードに保存されたデータを見ることができると思いますが、エミュレートされた外部ストレージはどうですか? また、他のユーザーのファイルを書き込んだり、単に読み取ったりすることはできますか?
各ユーザーは、独自の特別なパスを自動的に取得しますか? それとも開発者がこれを処理する必要がありますか?
開発者がそれを処理する必要がある場合、ユーザーの ID として何を使用する必要がありますか?
ドキュメントには次のように記載されています。
特定のユーザーのデータを保存するためにこれらの API のいずれを使用しても、別のユーザーとして実行している間はデータにアクセスできません。
ただし、これはすべて、独自のパスに API を使用することを前提としています。アプリは他のパスに移動することでこれを回避できますか?
アプリは、同じデバイスにインストールされているアプリ自体について何を照会できますか? 他のユーザーのアプリのサイズを取得できますか? 他のユーザーのアプリのリストを取得することさえできますか?
同じアプリを複数インストールしても複数のサイズが必要ですか?