我的应用中有一个pdf网址,我想打开它。我正在检查是否有可以打开它的应用程序。如果有,那我就开始这项活动。否则我会回到应用内浏览器+谷歌文档。
我看到一些ActivityNotFoundException在尝试启动pdf活动的行中的日志中崩溃了。有什么事对我说谎吗?我的支票不正确吗?
public void openPdf(Context context, String pdfUrl){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(pdfUrl), "application/pdf");
final ResolveInfo resolveInfo = context.getPackageManager().resolveActivity(intent, 0);
// Fallback if it didn't resolve.
if(resolveInfo == null || resolveInfo.activityInfo == null || !resolveInfo.activityInfo.exported){
intent = InternalBrowserActivity.getInternalBrowserActivityIntent(context, createGoogleDocsPdfUrl(pdfUrl), false);
}
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
InternalBrowserActivity
在Manifest中声明。