我有这个从互联网上下载文件的代码。当用户点击DownloadManager的通知时(在下载文件后),我想使用我的应用程序打开这个下载的文件。现在(使用当前的intent-filter)我的应用程序仅在用户尝试使用文件浏览器打开时显示在“使用完整操作”列表中。当我点击DownloadManager的通知时,我的应用程序不在能够打开此文件的应用程序列表中。
下载程序方法:
private void downloadPls(Uri uri) {
// String url = "url you want to download";
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setDescription("Some descrition");
request.setTitle("Some title");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "playlist.pls");
// get download service and enqueue file
DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);
}
过滤器:
<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:scheme="file" />
<data android:host="*" />
<data android:mimeType="audio/x-scpls" />
<data android:pathPattern=".*\\.pls" />
</intent-filter>