Androidのアプリ設定では、アプリのストレージを消去し、ほぼインストール直後の状態に戻すことができますが、このボタンを「容量の管理」に変更し、アプリを起動させることができます。
ストレージを消去 | 容量を管理 |
---|---|
これを実現するのは非常に簡単で、AndroidManifest.xmlのapplication
タグにandroid:manageSpaceActivity
というattributeでActivity名を記述するだけです。
これだけで「ストレージを消去」が「容量の管理」になり、ここに記述したActivityが起動されるようになります。
<application
...
android:manageSpaceActivity=".ManageSpaceActivity"
...
>
アプリ内で、システム設定アプリから「ストレージを消去」した場合と同じ動作をさせるには
ActivityManager.clearApplicationUserData()
をコールします。これでアプリは終了し、ストレージが消去されます。
findViewById<View>(R.id.button_clear).setOnClickListener {
getSystemService<ActivityManager>()?.clearApplicationUserData()
}
この容量の管理画面では、全消去ではなく、部分的にデータをクリアする機能を提供し、同時に「ストレージを消去」と同様に全消去の機能も提供するのがお行儀が良いでしょう。
様々なデータを扱うアプリの場合、ストレージが逼迫してきたので消去しなければならないが、アカウント情報など重要度の高い情報は残しつつ、再ダウンロードなどすればよいデータだけ削除したいという要望をかなえることができますね。
以上です。