Android 检查ResolveInfo后ActivityNotFoundException

Android 检查ResolveInfo后ActivityNotFoundException,android,Android,我的应用程序中有一个要打开的pdf url。我正在检查是否有可以打开它的应用程序。如果有,我就开始这项活动。否则,我将退回到应用程序内浏览器+谷歌文档 在尝试启动pdf活动的行中,我在日志中看到一些ActivityNotFoundException崩溃。有什么东西在骗我吗?我的支票做得不对吗 public void openPdf(Context context, String pdfUrl){ Intent intent = new Intent(Intent.ACTION_VIEW)

我的应用程序中有一个要打开的pdf url。我正在检查是否有可以打开它的应用程序。如果有,我就开始这项活动。否则,我将退回到应用程序内浏览器+谷歌文档

在尝试启动pdf活动的行中,我在日志中看到一些ActivityNotFoundException崩溃。有什么东西在骗我吗?我的支票做得不对吗

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
    已在清单中声明