我正在开发一个Android应用程序,它在SD卡中创建一个文件夹并存储一些图像。我想在应用程序卸载时删除该文件夹。请指导我。如何在卸载应用程序时删除数据?
3
A
回答
0
使用API 7级,下一个解释//为你需要运行BroadcasrReciver,包括您在AndroidManifest.xml文件接收
<receiver android:name="com.android.mobileasap.PackageChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package" />
</intent-filter>
//添加权限
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />
//在PackageChangeReceiver刚刚删除的文件,我删除doc文件在这下面的代码
public class PackageChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
//this.context=context;
Uri data = intent.getData();
Log.d("hi", "Action: " + intent.getAction());
Log.d("hi", "The DATA: " + data);
String action=intent.getAction();
if(Intent.ACTION_PACKAGE_REMOVED.equalsIgnoreCase(action))
{
String PATH = Environment.getExternalStorageDirectory() + "/mycontent_download/";
File file = new File(PATH);
if (file.exists())
{
String listOfFiles [] = file.list();
if (listOfFiles!=null)
{
if (listOfFiles.length>0)
{
int size = listOfFiles.length;
for (int i=0; i<size; i++)
{
if (listOfFiles[i].substring(listOfFiles[i].length()-4, listOfFiles[i].length()).equalsIgnoreCase(".doc"))
{
File f1 = new File(PATH+listOfFiles[i]);
f1.delete();
}
}
}
}
}
的
+1
该广播被第三方应用触发,而不是您自己的。 – 2011-11-16 14:24:27
3
简单:不可能。
目前没有卸载事件,当您卸载自己的应用程序时触发get。因此,你无法以任何方式对此作出反应。
唯一的例外:将您的数据存储在由Context.getExternalFilesDir()
或Context.getExternalCacheDir()
提供的文件夹中。当您的应用程序被卸载时,这些将被删除。
2
在API级别8或更多地利用外部缓存目录:http://developer.android.com/guide/topics/data/data-storage.html#ExternalCache
也有在上面的链接
相关问题
- 1. 在卸载应用程序时删除SQLite数据库
- 2. 如何在卸载应用程序时要求删除用户数据?
- 3. 卸载Android应用程序时数据库不会删除
- 4. 如何在卸载应用程序时删除文件
- 5. 如何在卸载时删除应用程序文件夹
- 6. 如何在卸载应用程序时删除iPhone中userdefaults中的数据?
- 7. 如何在卸载ClickOnce应用程序时删除所有数据?
- 8. 如何在卸载时从应用程序数据目录中删除文件?
- 9. 如何在android应用程序卸载时从sdcard中删除数据?
- 10. 删除持久存储的数据时应用程序被卸载/删除
- 11. 如何在卸载任何空中应用程序时删除应用程序存储目录实例/数据
- 12. 卸载msi删除应用程序
- 13. 删除User.config在卸载程序时
- 14. 如何删除应用程序目录,而卸载Android应用
- 15. Android卸载应用程序删除外部数据
- 16. Android - Sqlite数据库文件在卸载应用程序时未被删除?
- 17. 在卸载应用程序时从sdcard中删除文件
- 18. 如何卸载应用程序时删除PasswordVault保存的凭据?
- 19. 如何在卸载应用程序时删除临时文件夹
- 20. 如何从Android上卸载应用程序后删除本地存储数据
- 21. 卸载应用程序图标时,应用程序是卸载
- 22. 如何删除一个文件的卸载android应用程序?
- 23. 如何在卸载应用程序时从SDcard中删除文件
- 24. 如何在卸载时删除应用程序附带的所有图像
- 25. 如何在卸载黑莓应用程序时删除文件夹
- 26. 如何在C#.NET应用程序中卸载时删除文件夹?
- 27. 从iOS中卸载应用程序时删除日历事件
- 28. 卸载应用程序时删除接近警报
- 29. 如果用户卸载Android应用程序,哪些数据将被删除
- 30. 如何在卸载时删除设置
可能重复[如何删除文件的上卸载的Android应用程序?(HTTP://计算器.com/questions/4977351/how-to-delete-a-files-on-uninstall-the-android-application) – CodeCaster