android - 如何使由 Intent.createChooser() 创建的对话框可取消?

标签 android

如何使由 Intent.createChooser() 创建的对话框可取消?换句话说:当我在这个对话框之外点击时,我需要取消它。

默认情况下它是这样工作的。但在某些设备上(如 Samsung GT2)它不是(此对话框只能通过按 back 按钮取消)。

注意 我说的是 Intent.createChooser() 创建的对话框。我没有引用 Dialog 本身。

最佳答案

我同意 Yul 的观点——这是不可能的,除非创建您自己的选择器。 queryIntentActivities() 可以为您提供列表的内容,您可以根据需要设计对话框。 Here is a sample project使用 queryIntentActivities() 填充所有 LAUNCHER Activity 的 ListView,然后使用该数据启动点击条目。

就我个人而言,由于大多数设备已经具有这种行为,所以我不会打扰。我从最初的设备开始就一直在使用 Android,在阅读您的问题之前,我没有意识到可以通过对话框的“取消”按钮(在旧设备上)和“后退”按钮其他方式取消此对话框。我怀疑您的用户群是否会介意您的应用在选择器行为方面与他们设备上的所有其他应用一样。

关于android - 如何使由 Intent.createChooser() 创建的对话框可取消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176015/

相关文章:

java - 如何固定EditText的光标位置?

安卓工作室 : Unable to locate adb

android - 从 IntentService 类调用 Activity 时出现问题

java - 为什么我的 java 代码在 android studio 中总是打印出零信号强度

android - Android 应用程序在城市附近的 Activity

java - Android:使线性布局无效不起作用

android - java.lang.IllegalStateException : View with id -1 错误

java - 未找到 android 项目中的 native 库(UnsatisfiedLinkError)

android - 如何在 fragment 中使用 setSupportActionBar

Android:监控应用程序的网络流量,使用类似于 F12->Network on Web 的工具