5

私のアプリケーションから、コードを使用してアプリケーションをアンインストールしようとしています

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

結果のアクティビティを開始しているように、キャンセルされた場合やokをクリックした場合など、ユーザーの入力に基づいてさまざまなアクションを実行したいと考えています。

私が予想したように、[OK] をクリックした結果コードは になりRESULT_OK、[キャンセル] をクリックすると になりますRESULT_CANCELが、実際にはどちらの場合もRESULT_CANCEL.

では、どうすればユーザーの入力を区別できますか。

ありがとう!

4

3 に答える 3

4

APIによると、ACTION_DELETE何も返されません。何も返されない場合、結果ステータスは になりますRESULT_CANCEL

あなたの最善の策は、インテントをリッスン するインテント フィルター/ブロードキャスト レシーバーACTION_PACKAGE_FULLY_REMOVEDをセットアップすることです。以前こちらで質問したような質問があります。

于 2012-12-21T14:42:58.123 に答える
1

これを試して

Intent intent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE);
intent.setData(Uri.parse("package:" + packageName));
intent.putExtra(Intent.EXTRA_RETURN_RESULT, true);
startActivityForResult(intent, Constants.FROM_UNINSTALL);
于 2017-07-10T10:17:01.027 に答える