mtm*_*ock 29 pdf android workflow-activity
这是我最初的问题:
我希望能够打开使用内置的PDF查看器应用程序的Android在我的应用程序PDF文件,但我不知道如何启动其他应用程序.我敢肯定,我要打电话开始的活动,我只是不知道如何识别应用IM开放以及如何将文件传递给特定的应用程序.
有人有线索吗?
我刚刚了解到我手机上的pdf查看器实际上是由HTC制作的,Adobe刚刚发布了他们的android pdf查看器(这很棒).因此,新的问题是:我如何验证用户已经安装了Adobe的浏览器,然后我如何打开该应用将文件从我的应用程序?
Kar*_*uri 40
您可以通过编程方式确定用户设备上是否存在合适的应用程序,而不会捕获异常.
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("path-to-document"));
intent.setType("application/pdf");
PackageManager pm = getPackageManager();
List<ResolveInfo> activities = pm.queryIntentActivities(intent, 0);
if (activities.size() > 0) {
startActivity(intent);
} else {
// Do something else here. Maybe pop up a Dialog or Toast
}
Run Code Online (Sandbox Code Playgroud)
Com*_*are 16
AFAIK,Adobe没有记录Intents
它希望开发人员使用的任何公开信息.
你可以尝试ACTION_VIEW
Intent
用一个Uri
指向文件(无论是在SD卡或MODE_WORLD_READABLE
您的应用程序,本地文件存储中)和MIME类型"application/pdf"
.
private void loadDocInReader(String doc)
throws ActivityNotFoundException, Exception {
try {
Intent intent = new Intent();
intent.setPackage("com.adobe.reader");
intent.setDataAndType(Uri.parse(doc), "application/pdf");
startActivity(intent);
} catch (ActivityNotFoundException activityNotFoundException) {
activityNotFoundException.printStackTrace();
throw activityNotFoundException;
} catch (Exception otherException) {
otherException.printStackTrace();
throw otherException;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
80693 次 |
最近记录: |