【问题标题】:CMS url not opening in browser via implicit intentCMS url 未通过隐式意图在浏览器中打开
【发布时间】:2018-03-21 09:16:13
【问题描述】:

我正在尝试打开 URL 扩展名为 .cms 的新闻提要

当尝试简单的网址时,例如http://www.google.com/,它按预期工作,但不适用于 .cms 页面。

我不想添加自己的 WebView。我很确定 .cms 导致了问题,但不知道如何使用现成的/第三方浏览器解决它。

public static void openLinkInExternalBrowser(Context context, String url) {
  Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
   context.startActivity(browserIntent);
}

当我尝试打开它时,我得到以下异常

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat= http://timesofindia.indiatimes.com/india/spurned-lovers-tip-off-helped-track-kill-top-jaish-terrorist-khalid/articleshow/61013573.cms  }
                                                                 at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1936)
                                                                 at android.app.Instrumentation.execStartActivity(Instrumentation.java:1615)
                                                                 at android.app.Activity.startActivityForResult(Activity.java:4471)
                                                                 at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:54)
                                                                 at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
                                                                 at android.app.Activity.startActivityForResult(Activity.java:4429)
                                                                 at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:708)
                                                                 at android.app.Activity.startActivity(Activity.java:4788)
                                                                 at android.app.Activity.startActivity(Activity.java:4756)
                                                                 at adapters.NewsAdapter$1.onClick(NewsAdapter.java:66)
                                                                 at android.view.View.performClick(View.java:6219)
                                                                 at android.view.View$PerformClick.run(View.java:24482)
                                                                 at android.os.Handler.handleCallback(Handler.java:769)
                                                                 at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                 at android.os.Looper.loop(Looper.java:164)
                                                                 at android.app.ActivityThread.main(ActivityThread.java:6540)
                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                 at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

【问题讨论】:

  • 链接完美地使用了我的意图..您尝试了哪个操作系统版本?
  • Android Oreo 8.0 和 Marshmallow 6.0
  • 我厌倦了 oreo 8.0,它工作得很好。
  • 那你发现我的代码有什么问题吗?
  • 连你的代码都没问题。我试过这个链接timesofindia.indiatimes.com/india/…

标签: android android-intent android-webview activitynotfoundexception android-implicit-intent


【解决方案1】:

由于某些原因,您的 url 可能一直使用“www”。因此请尝试使用“http”或“https”来包装它。这对我有用。

public static void openLinkInExternalBrowser(Context context, String url) {
    if (!url.startsWith("https://") && !url.startsWith("http://")){ 
        url = "http://" + url; 
    }
   Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
   context.startActivity(browserIntent);
} 

【讨论】:

  • 没有。这样做时,我收到消息“无法访问站点”,实际上它可以通过复制粘贴相同的 url 在浏览器上正常打开。如果条件导致 url 损坏
  • 我猜这不是代码问题..我猜你的 dns 或类似的东西有问题。尝试将硬编码的 url 添加为 url 并检查。
  • 否,但在移动浏览器中复制了相同的 url 并且有效
猜你喜欢
  • 2020-08-22
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
相关资源
最近更新 更多