1

私のコードでは、コードでアプリケーションのアンインストール インテントを呼び出しています。

Intent uninstallIntent = new Intent(Intent.ACTION_DELETE);
uninstallIntent.setData(Uri.parse("package:" + packageName));
uninstallIntent.setAction(Intent.ACTION_VIEW);
startActivityForResult(uninstallIntent,DELETE_APP);

私のアクティビティでは、メソッド onActivityResult() をオーバーライドしましたが、アンインストールに関するアクションがなければ、メソッド内に重複してインテントが入っています。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    Log.d("", "request Code "+requestCode+" Result Code "+resultCode+"   "+data);

    if(requestCode==DELETE_APP){
       Log.d("Inside"'"Inside Delete Application Result");

}   
}

どうすればそれを取り除くことができ、なぜこれが起こっているのか.

Android 2.2を搭載したGalaxy Sでテストしています。OS レベルの問題ですか、それともアンインストールの意図の問題ですか。助けてください!!

4

2 に答える 2

1

実際にマニフェストに登録されたuninstall Intentを呼び出しているアクティビティは

    android:launchMode="singleInstance"

それが問題が発生した理由ですが、これが発生した理由は誰でも説明できます。

そして、別のインスタンスを防ぐのが好きなら、2回目に呼び出されたインテントだけが作成されるべきではないインスタンスを作成していたのはなぜですか??

于 2013-01-08T11:52:33.963 に答える
1

インテントを設定する必要があります

intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
于 2015-08-28T09:24:09.333 に答える