【问题标题】:Getting user's answer (System dialog - Android)获取用户的答案(系统对话框 - Android)
【发布时间】:2017-11-06 23:45:16
【问题描述】:

我是 Android 新手,我正在创建一个启动器。我希望删除(卸载)应用程序,因此我有一个列表并调用系统来卸载它。

我如何知道用户是否在系统对话框中按下了“取消”或“确定”? (我知道如果我按“确定”系统将取消安装该应用程序,或者如果我按“取消”则不会,我只需要知道如何获得删除或不删除我列表中的应用程序的答案 [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);
}

使用此代码,即使我按“取消”,该应用程序也会始终从我的列表中删除。

【问题讨论】:

    标签: android dialog system launcher


    【解决方案1】:

    您将在startActivity() 之后立即从列表中删除该项目。到那时,用户甚至还没有看到该对话框。

    您可以收听the ACTION_PACKAGE_REMOVED system broadcast,确认它是用于您请求的包,然后从列表中删除该包。通过registerReceiver() 从您的活动中执行此操作,您可以很快找到并轻松访问您的 UI 代码以更新列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多