我有我的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);
下载工作正常,但当我点击通知“下载完成”时,我希望我的活动将被打开。我得到的是吐司“文件无法打开”。
在我的Manifest中,我有一个.foobar文件后缀的intent-filter。
<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>
我错过了什么吗?
答案 0 :(得分:1)
终于找到了解决方案!
我不得不删除路径模式行
<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>
答案 1 :(得分:0)
I think you will find the answer to this answer. Most likely you have a problem in the treatment of Activiti or slightly incorrect description of intent.
Try adding a priority.
android:priority="integer"
Also you should look:
Good luck. Sorry that can not help more. Too much text for a comment.