Android 10 では、アプリ開発者向けにマニフェスト フラグが導入され、これを有効にすると、ユーザーはアプリをアンインストールするときにアプリ データを保持できるようになります。 続きを読んでください!
アンドロイド10 は Google による Android の最新アップデートであり、 成熟した OS に対するかなりの改善. 最新のアップデートのほとんどの変更点と新機能は、次のいずれかになります。 Google 自身が強調した Google I/O中または現在 すぐに見つかりました 後 ソースの公開リリース. しかし、注目に値する変更の中には、目立たなくなる傾向があり、数か月後に誰かが偶然に遭遇したときに表面化することがあります。 これが今回のケースで起こっていることです。なぜなら、Android 10 では、開発者がアプリをアンインストールする前にアプリのデータを保持したいかどうかをユーザーに尋ねることができるからです。
最近の からの報告 アンドロイド警察 この機能を強調しました。 のようなアプリ ワッツアップ そして ASRボイスレコーダー は、Android 10 ユーザーに、アンインストールされようとしているアプリのデータを保持するオプションの提供を開始しました。
上に表示されたチェックボックスをオンにすると、アプリがアンインストールされても、携帯電話にアプリのデータが保持されます。 アプリを再インストールすると、最初からアンインストールしなかったかのように、アプリ内で同じ状態に戻ります。
ミシャールは舞台裏で何が起こっているのかを少し調査しました。 それを理解するには、まず Android 上のアプリがデバイスにファイルを保存する方法を理解する必要があります。ファイルを保存するには主に 3 つの場所があります。
- 内部ストレージ (root なしではユーザーがアクセスできない) のアプリ固有のディレクトリ: これらのフォルダーは次の場所にあります。 /data/data 他のアプリや、ユーザーが通常携帯電話を PC に接続しているときにはアクセスできません。 アプリには、この場所にある独自のアプリ固有のディレクトリにファイルを書き込むためのアクセス許可は必要ありません。
- 外部 (ユーザーがアクセス可能な) ストレージ内のアプリ固有のディレクトリ: これらのフォルダーは次の場所にあります。 /data/media/{user}/Android/data 適切な権限があれば他のアプリからアクセスできるほか、ユーザーが通常携帯電話をコンピュータに接続しているときにもアクセスできます。 アプリには、この場所にある独自のアプリ固有のディレクトリにファイルを書き込むためのアクセス許可は必要ありませんが、前述したように、他のアプリのデータにアクセスするためのアクセス許可は必要です。
- 外部 (ユーザーがアクセス可能な) ストレージ内の任意のディレクトリ: アプリは外部ストレージへのアクセス許可を要求できます。 アプリが保存したいものを保存するために必要なフォルダーを外部ストレージ上に作成できるようにします。 ここ。
WhatsApp の例を拡張すると、内部ストレージ内の WhatsApp のアプリ固有のディレクトリは次の場所にあります。 /data/data/com.whatsapp; 外部ストレージ内のアプリ固有のディレクトリは次の場所にあります。 /data/media/{user}/Android/data/com.whatsapp; 外部ストレージ内のカスタム ディレクトリは次の場所にあります。 /data/media/{user}/WhatsApp.
Android 10より前のバージョン そして 開発者がアプリでこれを有効にする前に、ユーザーがアプリをアンインストールすると、そのアプリ固有のディレクトリが内部 (/data/data) および外部 (/data/media) ストレージはデフォルトで削除されます。 外部ストレージ上の余分なディレクトリは削除されないため、手動で削除するか、次のようなアプリを使用する必要があります。 SDメイド あなたのためにそれをするために。
Android 10 では、アプリ開発者はマニフェストに「」と呼ばれる特別なフラグを追加できます。壊れやすいユーザーデータがあります」を使用すると、アプリのアンインストール時にアプリのデータを保持したいかどうかをユーザーに尋ねることができます。これは、上のスクリーンショットに表示されているものです。 アプリ データを保持するチェックボックスをオンにしてアプリをアンインストールすると、Android は内部ストレージと外部ストレージ内のアプリ固有のディレクトリを保持し、削除しません。 これを確認するには、Manifest フラグを追加していないアプリと、Manifest フラグを追加している WhatsApp などのアプリのディレクトリをチェックしました。
表面的には、ユーザーはアプリを一時的にアンインストールしても元の状態に戻ることができるため、このオプションがあることは理にかなっています。 再インストール時に以前の状態が維持されるため、同じ上でアプリをバックアップおよび復元する手間が省けます。 デバイス。 ただし、覚えておいてください /data/data root なしではアクセスできないため、ユーザーはこのプロセスを root フリーのバックアップやデバイス間での復元に使用できません。 ユーザーが残されたファイルを削除することもできません。 /data/data ルートなし。 したがって、今後ファイルをクリアしたい場合は、アプリを再インストールし、チェックボックスをオンにせずにアンインストールする必要があります。 あまりにも多くのアプリに対してこのオプションを使用すると、ユーザーとしてどのアプリを選択したか忘れてしまう可能性があります。 これは開発者が含めるのはオプションであり、ユーザーが選択するのもオプションであるため、これはエンド ユーザーにより多くの力を与える全体的に前向きな変更であると感じています。