gpt4 book ai didi

Android - 使用我的应用程序打开 gmail 附件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:23 26 4
gpt4 key购买 nike

我需要使用我的应用打开带有自定义扩展名的文件。当文件在我的 SD 卡中时,我可以使用 Intent 过滤器来执行此操作。如果文件作为 Gmail 附件发送,我还可以查看“下载”和“预览”按钮。但是,当我单击下载/预览按钮时,我收到消息 - “抱歉,无法下载附件”

我认为这是我的应用程序的问题。但我有一个随机的想法,并在我的手机上安装了“下载所有文件”应用程序。 https://play.google.com/store/apps/details?id=com.hwkrbbt.downloadall&hl=en然后,当我单击 Gmail 中的下载按钮时,建议下载所有文件和我的应用程序来下载文件。我选择了我的应用程序,一切正常!!

这是一些安全问题吗?这些是我的 Intent 过滤器:

<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="*/*" />
<data android:scheme="content" android:host="*"
android:pathPattern=".*\\.ate" />
<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.ate" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" host="*" android:pathPattern=".*.ate" android:scheme="content" />
</intent-filter>

编辑:这是完整的 Activity 标签。

  <activity android:name=".TestApp"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.TestApp.TestApp.NOTIFICATION" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- Opening .ate file start -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:host="*" />
<data android:pathPattern=".*\\.ate" />
</intent-filter>
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="*/*" />
<data android:scheme="content" android:host="*"
android:pathPattern=".*\\.ate" />
<data android:scheme="file" android:host="*"
android:pathPattern=".*\\.ate" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/>
<data android:scheme="content" android:pathPattern=".*\\.ate" android:mimeType="application/octet-stream"/>
</intent-filter>
<!-- Opening .ate file end -->
</activity>

最佳答案

我自己弄明白了,所以我发布了解决方案,以防其他人遇到这个奇怪的问题。

Intent 过滤器需要内容和文件方案类型,mimetype application/octetstream

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:pathPattern=".*\\.inform" android:mimeType="application/octet-stream"/>
<data android:scheme="content" android:pathPattern=".*\\.inform" android:mimeType="application/octet-stream"/>

关于Android - 使用我的应用程序打开 gmail 附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13431479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com