我知道Android无法原生处理PDF.但是,Nexus One(可能还有其他手机)预先安装了QuickOffice Viewer.如何确定用户是否安装了PDF查看器?
目前,启动PDF下载的代码看起来非常简单:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
下载后,用户单击下载的文件以调用查看器.但是,如果没有PDF查看器,Android会报告"无法下载.手机不支持该内容".我想确定用户是否会收到此消息,如果是,请将其指向Android电子市场中的PDF应用.
我正在开发一个需要阅读远程pdf文件并打开它的Adnroid应用程序,我看到谷歌文档可以使用此网址从pdf进行转换:
http://docs.google.com/viewer?url=
我遇到的问题是我的url检索文件需要将标头添加到http请求.有没有人提示如何将这个添加到谷歌文档的调用中?
public void openDocumentWithInstalledApp(String filename) {
String mimetype = "";
url = url+ filename;
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "http://" + url;
}
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(browserIntent);
/*what should I do?*/
mimetype = "application/pdf";
File file = new File("/mnt/sdcard/Download/" + filename);
Intent intent1 = new Intent(Intent.ACTION_VIEW);
intent1.setDataAndType(Uri.fromFile(file), mimetype);
intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent1);
}
Run Code Online (Sandbox Code Playgroud)
首先,我尝试从url下载pdf.其次,我尝试阅读上面的pdf下载.但它可能无法下载完成.如果我想等待pdf下载完成.我该怎么办?