Android:当使用startActivity(intent)时代码执行其他

时间:2013-03-22 09:42:40

标签: android android-intent

我可能有一个小问题,但我无法解决。 如果我运行这段代码:

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时执行检查...帮帮我

1 个答案:

答案 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用于标识请求。