0

我正在为一个带有图像的项目创建一个简单的应用程序,当您按下按钮时,图像上方有一个按钮,图像将成为手机的壁纸。

我已经这样做了,但是对于我的项目,如果卸载了应用程序,我需要删除墙纸我该怎么做?

4

2 回答 2

1

将您的图像保存在这里,当您卸载应用程序时,此文件夹将被删除

于 2013-04-08T12:30:43.703 回答
0

如果您查看 的 Android 文档Intent ACTION_PACKAGE_REMOVED,您会看到除了您自己的应用程序之外,任何其他感兴趣的应用程序(注册接收此广播的其他应用程序)都将接收此广播操作。

来自 developer.android.com 网站的报价:

广播动作:现有应用程序包已从设备中删除。数据包含包的名称。正在安装的包没有收到这个 Intent。

不幸的是,因为您的应用程序永远无法检测到它正在被删除,所以您无法触发将更改设备上壁纸的特定功能。如果可能(它不是),一个简单的函数(代码如下)将向用户显示选择壁纸选择器。

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 回答