0

我不知道如何问这个问题。这不完全是一个问题,但在某些特定场景中可以看到,让我这样说:

我开发了一个应用程序,它公开了 2 个共享意图,一个用于共享,另一个用于查看。

共享意图,共享具有自定义扩展名的文件。当我使用k9邮件应用分享应用时,它出现在附件中,但是使用默认的android邮件应用并没有在附件中显示文件。

另一方面,视图意图在我使用 ES 文件资源管理器时出现在共享列表中,但在我使用文件专家文件资源管理器时不会出现。

mimeType="application/myCustomExtension"在 android manifest 中使用了视图意图。将其更改为并mimeType="*/*"使其出现在共享列表中,但也适用于所有其他文件,不仅适用于我的自定义扩展名。android:pathPattern=".*\\.CUSTOM_FILE_EXTENSION"android:hostandroid:scheme

虽然这不完全是个问题,因为我的代码适用于某些文件管理器和电子邮件客户端,但不适用于某些。但是,我想知道是否有某种方法可以使它们在所有应用程序中保持一致。

此外,当我分享我的自定义扩展时,蓝牙选项也不会出现在我的分享意图中。我有蓝牙权限

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

设置在清单中。

请在这件事上帮助我。

问候。

4

1 回答 1

0

我想指出以下关于意图的事情。

  1. 意图在运行时被解析为类似这样。例如:如果您指定 ACTION_SEND ,那么所有应用程序(无论是系统还是用户生成的应用程序)都在其清单中指定为 ACTION_SEND 的操作,它们将显示在该意图中。

所以对于 actionSend - 将 mime 设置为纯文本/文本 --- 在您的手机中打开 gmail 和默认邮件

对于 mime---- text/html --打开了许多选项,包括 whatsapp 、 facebook 、 bluetooth

因此,在这些应用程序显示后,您可以将内容分享给应用程序,以便能够解析您附加的数据。你无法控制它。

于 2013-05-14T06:25:32.747 回答