我可能有一个小问题,但我无法解决。 如果我运行这段代码:
Uri packageURI = Uri.parse("package:"+name);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
boolean esiste = isPackageExists(name);
Log.i("Esiste", "Esiste il packeges? : "+esiste);
if (!esiste) { //code }
一切都很好,但是当执行starActivity()时,代码启动应用程序但执行检查... 我想在返回myapplication时执行检查...帮帮我
答案 0 :(得分:0)
由于每个应用程序都在自己的线程中运行,因此在调用删除操作后,您的应用程序将继续运行
您可以在被叫活动关闭后进行检查,如下所示:
将startActivity(uninstallIntent);
更改为startActivityForResult(uninstallIntent, 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1){
boolean esiste = isPackageExists(name);
Log.i("Esiste", "Esiste il packeges? : "+esiste);
if (!esiste) { //code }
}
}
如果您通过startActivityForResult
调用Intent,则在从被调用的Activity返回后将调用方法onActivityResult
。变量requestCode
用于标识请求。