您好,在我的网络应用中,用户可以下载pdf文件。
在PC上没有问题,pdf文件在浏览器上打开,然后你可以选择一些动作,下载或打印等。
所以我正在尝试使用平板电脑,当我点击下载时,我会选择使用应用程序来打开pdf文件,或者如果有的话,则选择默认值。
这是我下载文件的方法,在其中我设置了标题:
public static HttpEntity<byte[]> downloadPdfFile(final String fileName, final byte[] item){
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.valueOf("application/pdf"));
header.setContentLength(item.length);
return new HttpEntity<byte[]>(item, header);
}
更新
如果在我的网址中我添加了例如fileName.pdf
之前下载它的menù以选择使用该应用程序..
所以我在我的应用中添加了这个intent filter
,以便将其展示给menù:
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:pathPattern=".*\\.pdf"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/pdf"/>
</intent-filter>
但我的应用程序并不适用于menù..
你有什么想法吗?
答案 0 :(得分:0)
我解决了,2天后它就可以了!
这是我的解决方案:
将fileName.pdf
传递给url以下载并使用这些意图过滤器:
<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="http" />
<data android:host="*" />
<data android:pathPattern=".*\\.pdf" />
</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="http" />
<data android:host="*" />
<data android:mimeType="application/pdf" />
</intent-filter>
<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=".*\\.pdf" />
</intent-filter>