2017-11-06 23 views
0

私はAndroidの初心者です。私はランチャーを作成しています。私はリストを持っているので、私はそれをアンインストールするシステムを呼び出すために、アプリケーションを削除(アンインストール)したい。ユーザーの回答を得る(システムダイアログ - Android)

システムダイアログでユーザーが「キャンセル」または「OK」を押したかどうかを確認するにはどうすればよいですか? (「OK」を押すか、「キャンセル」を押してもシステムが解除されないことがわかっていますが、私のリスト[ArrayList]のアプリを削除する方法を知る必要があります)。

あなたが知ることができない場合、ユーザーがアンインストールするかどうかを知らずにリストからアプリを削除するにはどうすればよいですか?

public void uninstall (int position){ 
    Uri package1 = Uri.parse("package:"+apps_block.get(position).name.toString()); 
    Intent uninstall = new Intent(Intent.ACTION_DELETE, package1); 
    startActivity(uninstall); 
    AppDetail toRemove = adapter_block.getItem(position); 
    adapter_block.remove(toRemove); 
} 

このコードでは、「キャンセル」を押してもこのアプリケーションは常に私のリストから削除されます。

答えて

1

startActivity()の直後にリストから項目を削除しています。ユーザーはまだと表示されていません。その時点ではまだダイアログが表示されていません。

the ACTION_PACKAGE_REMOVED system broadcastを聞いて、要求されたパッケージのものであることを確認し、その時点でリストからパッケージを削除できます。あなたの活動からregisterReceiver()経由でこれを行うことで、あなたはすぐに見つけ出し、あなたのUIコードに簡単にアクセスしてリストを更新することができます。

関連する問題