繁体   English   中英

Android下载管理器与我的应用程序打开文件

[英]android download manager open file with my application

我有我的Android应用程序,可通过DownloadService下载文件。 此文件为特殊文件格式,只能在我的应用中使用-后缀* .foobar。

我以这种方式开始下载:

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setDestinationInExternalPublicDir("/", "aaaa.foobar");

// get download service and enqueue file
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);

下载工作正常,但是当我点击通知“下载完成”时,我希望我的活动将被打开。 我得到的是祝酒词“无法打开文件”。

在清单中,我有一个.foobar文件后缀的意图过滤器。

    <intent-filter android:label="@string/app_name">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="file" />
        <data android:mimeType="*/*" />
        <data android:pathPattern=".*\\.foobar" />
        <data android:host="*" />
    </intent-filter>

我想念什么吗?

终于找到了解决方案!

我必须删除路径图案线

                <data android:pathPattern=".*\\.foobar" />

并将架构更改为内容。 因此,完整的意图过滤器为:

<intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="content" />
                <data android:mimeType="application/wcmap" />
                <data android:host="*" />
            </intent-filter>

我想您会找到答案的 您很可能在Activiti的处理上有问题,或者对意图的描述有些不正确。

尝试添加优先级

android:priority="integer"

您还应该看一下:

祝好运。 抱歉,无济于事。 文字过多,无法发表评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM