0

些細な問題があるかもしれませんが、解決できません。このコードを実行すると、次のようになります。

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に戻ったときにチェックを実行したい...助けて

4

1 に答える 1

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メソッドを介してインテントを呼び出すとonActivityResult、呼び出されたアクティビティから戻った後に呼び出されます。変数requestCodeは、リクエストを識別するために使用されます。

于 2013-03-22T09:48:06.463 に答える