我一直收到错误“找不到处理意图的活动”

时间:2013-09-26 21:22:37

标签: android android-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;
    }

}

这是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)

这是我的清单:

  

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

4 个答案:

答案 0 :(得分:24)

只是猜测,但您可能会错过http://前缀。尝试

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

答案 1 :(得分:2)

通过浏览器启动网站的正确方法是

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

答案 2 :(得分:1)

由于某种原因,现在它正在使用添加的&#34; http://&#34;

重新启动设备后,再次添加&#34; http://&#34;它成功了。

答案 3 :(得分:0)

有时候大写会导致这个问题。尝试将URL设为小写。