2013-09-26 12 views
10

Ich versuche, so einfach wie das Öffnen der Webseite von meiner App zu tun. Ich denke, sollte Code aussehen etwas looke unten, aber ich erhalte immer Fehler "keine Aktivität gefunden", während die Ausführung von Code:Ich bekomme immer Fehler "Keine Aktivität gefunden, um Absicht zu behandeln"

public class MainActivity extends Activity { 
    public static final String MY_STRING = "com..example.MY_STRING"; 
    Button button1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     button1 = (Button) findViewById(R.id.button1); 
     button1.setOnClickListener(clickListener); 

    }  
    public OnClickListener clickListener = new OnClickListener(){   
     @Override 
     public void onClick(View arg0) { 

      Intent launchBrowser = new Intent(Intent.ACTION_VIEW, Uri.parse("www.example.com"));     
      startActivity(launchBrowser);    
     }   
    };  
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

} 

hier ist log:

D/libEGL(11574): loaded /system/lib/egl/libGLES_android.so 
D/libEGL(11574): loaded /vendor/lib/egl/libEGL_mtk.so 
D/libEGL(11574): loaded /vendor/lib/egl/libGLESv1_CM_mtk.so 
D/libEGL(11574): loaded /vendor/lib/egl/libGLESv2_mtk.so 
D/OpenGLRenderer(11574): Enabling debug mode 0 
V/Provider/Setting(11574): invalidate [system]: current 109 != cached 0 
D/AndroidRuntime(11574): Shutting down VM 
W/dalvikvm(11574): threadid=1: thread exiting with uncaught exception (group=0x40ca8258) 
E/AndroidRuntime(11574): FATAL EXCEPTION: main 
E/AndroidRuntime(11574): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.example.com } 
E/AndroidRuntime(11574): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1518) 
E/AndroidRuntime(11574): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1390) 
E/AndroidRuntime(11574): at android.app.Activity.startActivityForResult(Activity.java:3204) 
E/AndroidRuntime(11574): at android.app.Activity.startActivity(Activity.java:3311) 
E/AndroidRuntime(11574): at com.example.openwebpage.MainActivity$1.onClick(MainActivity.java:40) 
E/AndroidRuntime(11574): at android.view.View.performClick(View.java:3517) 
E/AndroidRuntime(11574): at android.view.View$PerformClick.run(View.java:14155) 
E/AndroidRuntime(11574): at android.os.Handler.handleCallback(Handler.java:605) 
E/AndroidRuntime(11574): at android.os.Handler.dispatchMessage(Handler.java:92) 
E/AndroidRuntime(11574): at android.os.Looper.loop(Looper.java:137) 
E/AndroidRuntime(11574): at android.app.ActivityThread.main(ActivityThread.java:4503) 
E/AndroidRuntime(11574): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(11574): at java.lang.reflect.Method.invoke(Method.java:511) 
E/AndroidRuntime(11574): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809) 
E/AndroidRuntime(11574): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576) 
E/AndroidRuntime(11574): at dalvik.system.NativeStart.main(Native Method) 

und hier ist mein Manifest:

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.openwebpage.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

+0

Könnten Sie versuchen, 'Uri.parse (" http://www.example.com ")'? –

+0

Könnten Sie versuchen Uri.parse ("http: // www. Google.com")? – Turkish

+1

fügen Sie einfach 'http: //' zu Ihrer URL – Houcine

Antwort

23

Nur raten, aber Sie könnten die http:// Vorwahl fehlen.

Intent launchBrowser = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com")); 
+0

nein, gleiche Sache mit "http: //" – user696847

+1

Mmh seltsam. Nach ähnlichen Posts suchend, schlägt dieser vor, dass URL-Schema tatsächlich das Problem ist. http://stackoverflow.com/questions/2201917/how-can-i-open-a-url-in-androids-web-browser-from-my-application Eine Chance, dass die letzte Änderung nicht kompiliert wurde? Haben Sie auch etwas wie http://www.google.com versucht? – ssantos

+0

Ich habe mit google.com versucht, aber meine App startet nicht einmal den Browser. Es stürzt beim Klick-Ereignis ab (Starten eines Browsers). Es ist also kein Fall, dass URL nicht aufgelöst werden kann. – user696847

2

die richtige Methode versuchen, eine Webseite über den Browser zu starten ist

Intent viewIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.google.com")); 
startActivity(viewIntent); 
1

Aus irgendeinem Grunde jetzt ist es mit diesem hinzugefügt arbeiten „http: //“

Nachdem ich neu starten Gerät , und lief es erneut mit "http: //" hinzugefügt es funktionierte.

0

manchmal Großbuchstaben verursachen dieses Problem. Versuchen Sie, die URL in Kleinbuchstaben zu setzen.

Verwandte Themen