找不到处理Intent{act=android.Intent.action.VIEW dat=app://}

找不到处理Intent{act=android.Intent.action.VIEW dat=app://},android,webview,Android,Webview,我收到以下错误消息: 找不到处理Intent{act=android.Intent.action.VIEW的活动 dat=app://} 我尝试了许多不同的方法,但没有成功。以下是我正在使用的代码: if (url.startsWith("app://")) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.setData(Uri.parse(url)); startAc

我收到以下错误消息:

找不到处理Intent{act=android.Intent.action.VIEW的活动 dat=app://}

我尝试了许多不同的方法,但没有成功。以下是我正在使用的代码:

if (url.startsWith("app://")) {
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
     intent.setData(Uri.parse(url));
     startActivity(intent);
     return true;
}

如果您想在google play store上查看应用程序,请尝试以下操作:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));

请确保安装您打算在Intent上使用的应用程序。 例如,不同的市场或应用程序 这就是我的解决办法 您还可以使用此方法确保:

 private Boolean isBazaarInstalled() {
    PackageManager manager = getPackageManager();
    try {
      manager.getPackageInfo("com.farsitel.bazaar", PackageManager.GET_ACTIVITIES);
    } catch (PackageManager.NameNotFoundException e) {
      e.printStackTrace();
      return false;
    }

    return true;
  }
然后像这样使用它:

if (isBazaarInstalled()) {
          Intent intent = new Intent(Intent.ACTION_VIEW);
          intent.setData(Uri.parse("bazaar://collection?slug=by_author&aid=" + "602737144978"));
          intent.setPackage("com.farsitel.bazaar");
          startActivity(intent);
        } else {
          Toast.makeText(this, getString(R.string.bazar_not_installed), Toast.LENGTH_SHORT).show();
        }

你想做什么?打开http链接或其他内容?不要使用
startActivity(intent)
使用
startActivity(intent.createChooser(intent,“打开时使用…”)将完整的代码发布到您获取url值的表单中