9

私が書いているアプリケーションがいくつかのファイルを外部ストレージに永続的に保存するのは便利ですが(アプリケーションが終了した後もそれらは持続します[破棄])、アンインストール時に適切なことを行い、これらを使用したいと思いますストレージを解放するためにファイルが削除されました。

アンインストール時にこれらのファイルを削除する方法はありますか?

ない場合(そして私は懐疑的です)、毎回これらのファイルを作成する必要があります。起動時間を節約し、永続的に存在させることで必要なスペースを占有しようとしています。

注:外部ストレージを使用する必要があるため、内部ストレージとDBの両方が不適切になります。

4

4 に答える 4

10

実際には可能です。

androidは外部ストレージ内のアプリのファイルを自動的に削除しますが、ファイルはアプリの特定のパス内にある必要があります。

"..... / Android / data / APP_PACKAGE_NAME /"

ここで、APP_PACKAGE_NAMEはアプリケーションのパッケージ名です。自動的に空にされる別のパスは次のとおりです。

"...../ Android / obb / APP_PACKAGE_NAME /"ここで、APP_PACKAGE_NAMEはアプリケーションのパッケージ名です。

データはあなたが望むもののためのものです。obbフォルダーは、play-storeとapk拡張ライブラリを使用してダウンロードされる巨大なファイル用です。そこにファイルを作成することは想定されていません。

于 2012-09-05T13:23:54.113 に答える
7

いいえ、私はそうは思いません。アプリケーションがアンインストールされると(またはユーザーがアプリケーション設定アプリの[データを消去]ボタンを押すと)、内部ストレージに書き込んだファイルのみが削除されます。

アプリは独自のPACKAGE_REMOVEDブロードキャストインテントも受信できないため、基本的にアンインストールされているという通知はありません。

于 2010-01-01T23:12:00.773 に答える
4

はい、これは可能です。ファイルを外部ファイルディレクトリに書き込むだけです。

File dir = getExternalFilesDir(null);

これにより、/ Android / data /your.package/にフォルダーが作成されます。これはsdcardのように外部ではありませんが、一般にアクセス可能であることに注意してください。ユーザーがアプリをアンインストールすると、このディレクトリもそのすべてのコンテンツとともに削除されます。

于 2014-03-07T21:11:26.863 に答える
2

CommonsWareのブログ投稿からの引用

  • 内部ストレージ:ファイルが削除されます

  • 外部ストレージ:getExternalFilesDir()またはをルートとする場所にファイルを書き込んだ場合getExternalCacheDir()、ファイルは削除されます。他の場所(たとえばEnvironment.getExternalStoragePublicDirectory())にファイルを書き込んだ場合、ファイルは削除されません

  • Android 4.4より前のリムーバブルストレージ:リムーバブルストレージは公式にはアクセスできません。ファイルが完成した場合は、アプリをアンインストールするときにファイルを削除しないでください。

  • リムーバブルストレージ、Android 4.4以降:AFAIK、サポートされている場所(getExternalFilesDirs()またはgetExternalCacheDirs())に書き込む場合、アンインストール時にリムーバブルストレージの特定のビットがデバイスにあると、ファイルが削除されます

于 2014-12-14T16:33:34.663 に答える