Search code examples
androidandroid-intentchrome-custom-tabs

ChromeCustomTabs - handle Intent Error in Activity


I'm currently developing an musicplayer app in which i want to link the artists websites with chrome custom tabs (Chrome is installed on my phone). Most of the links work fine and open like they should but when i want to open the website from imagine dragons i'm getting the error "No Activity found to handle Intent". The Link just looks like the others but my app crashes every time i want to open this link.

This is my Error Log:

E/UncaughtException: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.imaginedragonsmusic.com/ (has extras) }
                     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1815)
                     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1513)
                     at android.app.Activity.startActivityForResult(Activity.java:3940)
                     at android.app.Activity.startActivityForResult(Activity.java:3888)
                     at android.app.Activity.startActivity(Activity.java:4211)
                     at android.support.v4.content.ContextCompat.startActivity(ContextCompat.java:141)
                     at android.support.customtabs.CustomTabsIntent.launchUrl(CustomTabsIntent.java:262)
                     at com.mobileagreements.radio.liferadio.activities.SongDetailActivity.onClick(SongDetailActivity.java:160)
                     at android.view.View.performClick(View.java:5106)
                     at android.view.View$PerformClick.run(View.java:20329)
                     at android.os.Handler.handleCallback(Handler.java:739)
                     at android.os.Handler.dispatchMessage(Handler.java:95)
                     at android.os.Looper.loop(Looper.java:135)
                     at android.app.ActivityThread.main(ActivityThread.java:5912)
                     at java.lang.reflect.Method.invoke(Native Method)
                     at java.lang.reflect.Method.invoke(Method.java:372)
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)

Has anyone experienced a similar problem and is able to help me?


Solution

  • Try modifying the url

    from www.imaginedragonsmusic.com/

    to http://www.imaginedragonsmusic.com/

    Use below code:

    if (!url.startsWith("http://") && !url.startsWith("https://"))
       url = "http://" + url;
    

    Hope it helps!!!