Reputation: 541
Is there a way to make an application uninstall itself? For example: I want to be able to click on an "Uninstall" button in my app and have the the app uninstall itself.
I can imagine that you can call a function of the firmware and delegate the action to it so the app gets uninstalled.
The reason I need this is that when the app is uninstalled I need to delete some files on the sdcard that were downloaded by the app.
Upvotes: 9
Views: 17299
Reputation: 16193
No you simply can't. At least not for the phones that are not rooted. You can take the user to an Uninstall
screen, but they would have to click on "Uninstall" to uninstall the app. For more information visit install/uninstall application programmatically.
Upvotes: 3
Reputation: 785
You can Remove your App using Intent.ACTION_DELETE
try this it work for me
Intent intent = new Intent(Intent.ACTION_DELETE);
intent.setData(Uri.parse("package:" + this.getPackageName()));
startActivity(intent);
Upvotes: 18
Reputation: 391
Unfortunately, you cannot uninstall an app, or even detect that your app is being uninstalled. This is to preserve security and prevents malware from messing with things.
I suggest that instead of using the sd card to store files, you use internal storage. These files are deleted automatically when the app is uninstalled.
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
Upvotes: 0