0

私は、画像が付属するプロジェクト用の簡単なアプリを作成しています。その上にボタンを押すと、画像が電話の壁紙になります。

これは私が行ったのですが、私のプロジェクトでは、アプリがアンインストールされた場合に壁紙を削除する必要があります。これを行うにはどうすればよいですか?

4

2 に答える 2

1

ここに画像を保存します。アプリをアンインストールすると、このフォルダは削除されます

于 2013-04-08T12:30:43.703 に答える
0

の Android ドキュメンテーションをIntent ACTION_PACKAGE_REMOVED見ると、このブロードキャスト アクションは、自分のアプリケーション以外の他のアプリケーション(このブロードキャストを受信するように登録されている他のアプリ)によって受信されることがわかります。

developer.android.com サイトからの引用:

ブロードキャスト アクション: 既存のアプリケーション パッケージがデバイスから削除されました。データにはパッケージの名前が含まれています。インストールされているパッケージは、このインテントを受け取りません。

残念ながら、アプリは削除されたことを検出できないため、デバイスの壁紙を変更する特定の機能をトリガーすることはできません。可能であれば (実際にはそうではありません)、単純な関数 (コードは次のとおりです) によって、[壁紙の選択]セレクターがユーザーに表示されます。

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "Select Wallpaper"));

アプリケーションをアンインストールしたら、ユーザーが手動で変更する必要があります。

そうは言っても、アプリで作成したすべてのファイルの削除に関する限り、Android に任せてください。API に応じて、次のいずれかのオプションを使用します。

API 8 以上:getExternalCacheDir

API 7 以下: getExternalStorageDirectory.

このようなものにより、デバイス API に応じてどちらを使用するかを決定できます。

int currentAPIVersion = android.os.Build.VERSION.SDK_INT;
if (currentAPIVersion >= android.os.Build.VERSION_CODES.ECLAIR) {
    // USE getExternalStorageDirectory
} else {
    // USE getExternalCacheDir
}
于 2013-04-08T13:27:40.877 に答える