Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中执行卸载任务_Android_Uninstallation - Fatal编程技术网

在android中执行卸载任务

在android中执行卸载任务,android,uninstallation,Android,Uninstallation,我开发了一个Android应用程序。 现在我想在从手机上卸载应用程序时执行一些操作(如重置设置等) 是否可以重新启动在删除应用程序时调用的侦听器或函数?卸载应用程序时,您无法获得控制权--抱歉 遗憾的是,android目前无法在卸载应用程序时执行代码 通过SharedReferences设置的所有设置将与应用程序数据缓存文件夹中的所有内容一起删除 唯一可以保存的是写入SD卡的数据以及对手机设置所做的任何更改。我不知道通过应用程序同步到联系人的数据会发生什么情况。由于API级别为8,您可以使用Co

我开发了一个Android应用程序。 现在我想在从手机上卸载应用程序时执行一些操作(如重置设置等)


是否可以重新启动在删除应用程序时调用的侦听器或函数?

卸载应用程序时,您无法获得控制权--抱歉

遗憾的是,android目前无法在卸载应用程序时执行代码

通过SharedReferences设置的所有设置将与应用程序数据缓存文件夹中的所有内容一起删除


唯一可以保存的是写入SD卡的数据以及对手机设置所做的任何更改。我不知道通过应用程序同步到联系人的数据会发生什么情况。

由于API级别为8,您可以使用Context.getExternalFilesDir()。理论上,卸载应用程序时,此处放置的任何数据都将被删除


)

当用户卸载手机中的android应用程序时,被移除的软件包接收器将调用。您可以获取卸载的应用程序包名称use intent,getDataString()

请参阅此链接中的完整示例。

我认为这并不令人难过。事实上,我很高兴,因为这有助于防止手机上出现类似间谍软件的活动。但它也阻止我清理某些东西,比如我下载到SD卡上的数据,以防止手机内存被填满。不,我填SD卡。在froyo中使用app to sd可能会更好,但对于2.2以下的设备,我希望在卸载时保持礼貌。@Janusz:查看
android.os.Environment
类上的
getExternalStorageDirectory()
。在线文档说从API级别1开始就有了,但我不记得了。无论如何,这应该会在SD卡上为您提供一个特定于应用程序的目录,当卸载应用程序时,该目录将被清除。谢谢,我将查看应用程序
NQ Mobile Security
正在调用卸载时的活动查看,以及问题谢谢,我将android.intent.action.PACKAGE_的接收器设置为已删除,并在任何应用程序卸载时调用。现在如何获取已在此接收器上删除的程序包名称?如果不可能,则Firebase Analytics如何自动提供应用程序_删除事件?@OfekRon:请不要在多个答案上发表重复评论。我不使用Firebase,也不知道什么是“应用程序删除事件”。但是,设备上的其他应用程序可能会发现您的应用程序已卸载。因此,我假设Play Services Framework应用程序、Play Store或其他一些Google专有代码就是检测卸载并将信息转发到Google服务器的应用程序。@commonware它们是firebase分析事件。Google使用这些事件生成并显示转换统计信息。您还可以生成自定义事件(我想最多有500种不同的事件类型)应用程序
NQ Mobile Security
在卸载时调用活动查看,问题检查我的答案在:这将帮助您正在卸载的应用程序不会从文档收到此意图:“正在安装的软件包没有收到此目的”。
if (intent.getAction (). equals ("android.intent.action.PACKAGE_REMOVED")) {
          String packageName = intent.getDataString ();
          System.out.println ("uninstall:" + packageName + "package name of the program");  
}