2013-09-26 149 views
10

Tôi đang cố gắng làm một việc đơn giản như mở trang web từ ứng dụng của mình. Tôi nghĩ rằng mã nên trông giống looke dưới đây, nhưng tôi cứ bị lỗi "không tìm thấy hoạt động" trong khi thực thi mã:Tôi tiếp tục gặp lỗi "Không tìm thấy hoạt động nào để xử lý Intent"

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; 
    } 

} 

đây là nhật ký:

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) 

và đây là biểu hiện của tôi:

<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

Bạn có thể thử 'Uri.parse (" http://www.example.com ")' không? –

+0

Bạn có thể thử Uri.parse ("http: // www. Google.com") không? – Turkish

+1

chỉ cần thêm 'http: //' vào URL của bạn – Houcine

Trả lời

23

Chỉ cần đoán, nhưng bạn có thể thiếu tiền tố http://. Hãy thử

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

không, điều tương tự với "http: //" – user696847

+1

Mmh lạ. Tìm kiếm các bài viết tương tự, điều này gợi ý rằng lược đồ url thực sự là vấn đề. http://stackoverflow.com/questions/2201917/how-can-i-open-a-url-in-androids-web-browser-from-my-application Bất kỳ cơ hội nào mà thay đổi cuối cùng không được biên soạn? Ngoài ra, bạn đã thử một cái gì đó như http://www.google.com? – ssantos

+0

Tôi đã thử với google.com, nhưng ứng dụng của tôi thậm chí không khởi động trình duyệt. Nó treo trên sự kiện nhấp chuột (khởi chạy trình duyệt). Vì vậy, nó không phải là trường hợp nó không thể giải quyết url. – user696847

2

Phương pháp đúng để khởi động một trang web thông qua trình duyệt là

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

Đối với một số lý do bây giờ nó đang làm việc với những chất được thêm "http: //"

Sau khi tôi khởi động lại thiết bị và chạy lại với "http: //" đã được thêm vào.

0

đôi khi Upper Case gây ra sự cố đó. cố gắng tạo trường hợp URL thấp hơn.