Android - Preserve or delete files created by the application on uninstall
Seems like there have been some developments since 2009 :).
From the documentation:
If you're using API Level 8 or greater, use
getExternalCacheDir()
to open a File that represents the external storage directory where you should save cache files. If the user uninstalls your application, these files will be automatically deleted. However, during the life of your application, you should manage these cache files and remove those that aren't needed in order to preserve file space.If you're using API Level 7 or lower, use
getExternalStorageDirectory()
to open a File that represents the root of the external storage, then write your cache data in the following directory:/Android/data//cache/ The is your Java-style package name, such as "com.example.android.app".
There's no way for your application to know that it is being uninstalled (without modifying the kernel). All files created in the data/data/your.app.package
is deleted automatically upon application uninstall.
I don't think anything is cleared from the sdcard. You can do a quick test and find that out.
Another approach could be to have another application that checks whether this application is installed or not. If not, it can do the clean-up work.