问题标签 [android-intent-chooser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
16 回答
118068 浏览

android - 允许用户为图像选择相机或图库

我正在尝试做的事情似乎很简单,但经过几天的搜索,我无法弄清楚。

我有一个允许用户选择多个(最多 5 个)图像的应用程序。我正在使用一个ImageView. 当用户点击 时ImageView,我想允许他们选择

  1. 从图库中选择图像,或
  2. 使用相机拍摄图像。

我从使用ACTION_GET_CONTENT意图开始,这对于进入画廊很有效。因此,我尝试使用ACTION_PICK_ACTIVITY意图允许用户选择相机或画廊:

但看来我只能添加一个EXTRA_INTENT. 菜单按预期显示,但唯一的选项是画廊和文件......没有相机)。

有没有更好/更简单的方法来做到这一点,我错过了?谢谢你的帮助。

0 投票
2 回答
7762 浏览

android - 在相机和画廊之间进行选择以进行图像选择

我试图允许用户从图库中或通过用相机拍照来选择图像。我试过这个:

但它会自动显示图库,甚至不提供选择活动的选项。似乎应该有比这个问题中给出的解决方案更好的方法来实现这一点。这真的是唯一的方法吗?

0 投票
1 回答
900 浏览

android - 意图选择器屏幕中自定义项目的回调

我的用例是从 Intent Chooser 的自定义下载选项下载图像。我知道我可以通过添加如下代码来添加自定义选项:

我也有可以为我下载图像的功能。我的问题是,我是否可以检测到用户选择/单击了自定义选项,然后直接为我的下载功能设置回调并继续下载操作?

注意:我不想在此过程中启动任何新活动。只是寻找关于我如何在选择器中为这个自定义选项设置回调的指针。

0 投票
0 回答
67 浏览

android - Android,“始终打开方式”如何保存用户的偏好

当应用程序 X 触发隐式搜索意图并且用户决定“始终使用应用程序 Y 打开”时,我想知道保存了什么?

  • 是否所有搜索意图都使用应用 Y 打开?
  • 是否只有来自应用 X 的搜索意图被应用 Y 打开?
  • 是否只有从应用程序 X 的特定部分生成的搜索意图在应用程序 Y 中打开?
0 投票
1 回答
65 浏览

java - 用户从图库或自定义相机中选择图像,而不是从相机应用中选择图像

我希望用户能够单击一个按钮,并可以选择图库或类似的应用程序我在我的应用程序中拥有的相机活动,而不是内置的我在这里这里阅读了相关的答案。但是,我不想包含内置相机应用程序,但我想包含我的相机活动。

到目前为止,我已从我发布的两个链接中进行了以下设置:

由此产生的结果是一大堆不相关的应用程序和服务,其中大部分实际上在列表中重复了几次。此外,我的相机活动不在其中。当我这样做时,pickIntent.putExtra(Intent.EXTRA_INTENT,gallIntent)我确实获得了我想要的相关图库应用程序,但我无法添加我的活动。

关于我做错了什么的任何想法?

此外,当我单击它时,没有打开任何服务。但是,这可能与 '1' arg in 有关,startActivityOnResult因为我不确定该 arg 应该放什么。

0 投票
2 回答
4462 浏览

android - 我的应用不会显示在 android.intent.action.VIEW 的选择器对话框中,只有在 Marshmallow 上具有 mime 类型 video/*

基本上,当应用程序共享视频网址时,我的应用程序应该显示在列表中,但它没有。MXPlayer 也没有,但 Google Photos 媒体播放器和 allcast 都显示得很好(最近有一个版本来解决这个问题)。

我写了一个快速应用程序来测试这个问题,这里是我的清单过滤器:

这是重现问题的代码:

这只是棉花糖上的一个问题。

编辑:我应该补充一点,并非所有 Marshmallow 设备都这样做。从我第一次听说它到有一天它刚刚开始在我的 Nexus 5 上发生,我花了很长时间才重现它。我的 6P 不会重现它。

编辑:我在startActivity. 基本上,我要求包管理器给我可以处理该意图的意图活动,然后我会得到与我在对话框中看到的完全相同的列表。

编辑:我认为添加屏幕截图可能会更清楚。

这是在我的 Nexus 5 和 6.0.1 上,列表已完全展开 这是在我的 Nexus 5 和 6.0.1 上,列表已完全展开

这是我的 Nexus 4 和 5.1.1,列表也完全展开 这是我的 Nexus 4 和 5.1.1,列表也完全展开

这两款手机都有几乎完全相同的应用程序。

0 投票
1 回答
6493 浏览

android - 使用 ACTION_GET_CONTENT 选择文件路径时获取文件路径的正确方法

我在我的应用程序中实现了一个文件选择器,如下所示:

这是一个已知问题,您无法通过这种方式轻松获取实际文件位置,因为 Intent 将返回一些您无法真正用于创建 File 对象的奇怪 Uri。

我正在使用这种方法来获取实际的文件路径:

这适用于某些文件,而有些则不行。现在我注意到当我从“下载”文件夹中选择一个文件时它不起作用。它跳过上面的所有 if 语句并返回 null。

什么是正确的方法,这将更可靠地获得实际选择的文件路径?

0 投票
1 回答
553 浏览

android - Android:共享意图后调用意图

我正在开发一个应用程序,我在共享意图的帮助下从我的应用程序共享 URL:

申请的需要是:

通过共享意图共享链接后,应调用新意图以在第二个屏幕上导航。

怎么做?。

0 投票
1 回答
2409 浏览

android - 自定义意图选择器 - 为什么在 Android 6 上显示空单元格?

背景

我希望展示本机意图选择器,同时能够对其进行一些自定义。

为此,我找到了下一个 StackOverflow 线程:

如何在 Android 中自定义分享意图?

问题

问题是,当我在 Android 5.x 及更低版本上使用建议的代码时,一切似乎都很好,但是当我在 Android 6.0.1 上使用它时(在 Nexus 5 和模拟器上测试,当有多个应用程序共享内容时) ,我得到空单元格,有时甚至是空的应用程序名称,例如:

在此处输入图像描述

使用非自定义意图选择器时不会出现这种情况:

在此处输入图像描述

编码

看到解决方案,我创建了下一个代码:

以及测试它的方法:

我试过的

我试图改变意图中的各种东西,但没有任何运气。我还试图找出意图的顺序应该是什么(因为它可能很重要),但我没有找到。

最后,我决定将它发布到 Google,假设这是一个错误:

https://code.google.com/p/android/issues/detail?id=202693

问题

  1. 为什么会发生?我可以以某种方式修复它,同时仍然使用本机意图选择器吗?为什么它只发生在 Android 6 及更高版本上?

  2. 例如,我如何将每个项目的正确名称放在那里,例如,我两次看到“twitter”,而其他应用程序确实显示了正确的名称(例如 qr-code-scanner 的名称)?

  3. 是否可以保持应用程序排序的本机行为,如使用显示意图选择器的简单方式所示?也许以应该订购的方式获取应用程序列表?

0 投票
2 回答
3237 浏览

android - 为 Zip 文件选择 Intent

我有一个从 url 下载的 zip 文件,它的路径设置为/storage/emulated/0/myapp/downloadedfile.zip

现在我想通过选择意图打开这个 zip 文件,列出可用的应用程序来打开下载的文件。

我在清单中设置了这个:

现在我正在调用这种方式来打开意图选择器

ESFileExplorer如果我已经安装在我的应用程序上,这很好用

但我想检查是否有任何预安装的应用程序可用,否则我playstore还需要将其显示为选项之一,以便用户可以下载应用程序并安装 ESFileExplorer 应用程序。

那么我该怎么做呢?