2017-08-25 1 views
-2

Ich entwickle gerade eine Musikplayer-App, in der ich die Künstler-Websites mit benutzerdefinierten Chrom-Tabs verknüpfen möchte (Chrome ist auf meinem Handy installiert). Die meisten Links funktionieren gut und offen wie sie sollten, aber wenn ich die Website von imagine dragons öffnen möchte, bekomme ich den Fehler "Keine Aktivität gefunden, um mit Intent umzugehen". Der Link sieht einfach wie die anderen aus, aber meine App stürzt jedes Mal ab, wenn ich diesen Link öffnen möchte.ChromeCustomTabs - Handle Intent Fehler in Aktivität

Das ist mein Fehler 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) 

Hat jemand ein ähnliches Problem erlebt und ist in der Lage, mir zu helfen?

+0

Bevor eine Aktivität starten, verwenden ResolveActivity. Für weitere Informationen: https://stackoverflow.com/a/29994483/5909385 –

+0

fügen Sie "http" zu Ihren URLs hinzu. –

Antwort

0

Versuchen Sie die URL

von www.imaginedragonsmusic.com/

-http://www.imaginedragonsmusic.com/

Verwenden Sie den folgenden Code zu ändern:

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

Hoffe, es hilft !!!

0

mein Code hier von App ist

public class MainActivity extends AppCompatActivity { 

Button btChrome, btWebView; 
EditText etUrl; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    etUrl = (EditText) findViewById(R.id.etUrl); 
    btChrome = (Button) findViewById(R.id.btChrome); 
    btWebView = (Button) findViewById(R.id.btWebView); 

    btChrome.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String url = etUrl.getText().toString().toLowerCase().trim(); 
      if (url.isEmpty()) etUrl.setError("Enter URL"); 
      else if (!url.startsWith("http://") && !url.startsWith("https://")) { 
       url = "http://" + url; 
       openChromeTabs(url); 
      } else { 
       openChromeTabs(url); 
      } 
     } 
    }); 

    btWebView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      String url = etUrl.getText().toString().toLowerCase().trim(); 
      if (url.isEmpty()) etUrl.setError("Enter URL"); 
      else if (!url.startsWith("http://") && !url.startsWith("https://")) { 
       url = "http://" + url; 
       openWebView(url); 
      } else { 
       openWebView(url); 
      } 


     } 
    }); 
} 

void openChromeTabs(String url) { 
    CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); 
    CustomTabsIntent customTabsIntent = builder.build(); 
    customTabsIntent.launchUrl(MainActivity.this, Uri.parse(url)); 
} 

void openWebView(String url){ 
    Intent intent = new Intent(MainActivity.this, WebViewActivity.class); 
    intent.putExtra("URL", url); 
    startActivity(intent); 
    } 
} 
Verwandte Themen