如何在默认浏览器或webview中打开按钮单击URL

时间:2012-06-14 10:38:27

标签: android android-layout android-intent

如何在点击按钮后在webview或默认浏览器中打开网址?目前,当我单击btn1按钮时,它会提示我从手机中选择一个浏览器。我想在默认浏览器或webview

中打开此网址

这是我的java代码:

 public class myactivity extends Activity {

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button bt1 = (Button) findViewById(R.id.btn_click_login);
    btn_login.setOnClickListener(new OnClickListener() {
         public void onClick(View v) {
             Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
             myWebLink.setData(Uri.parse("http://google.com"));
             startActivity(myWebLink);
          }
         }
     );
}

5 个答案:

答案 0 :(得分:21)

你走了。

确保在清单

中加入<uses-permission android:name="android.permission.INTERNET"/>
Intent internetIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.google.com"));
internetIntent.setComponent(new ComponentName("com.android.browser","com.android.browser.BrowserActivity"));
internetIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(internetIntent);

答案 1 :(得分:4)

可以尝试这个你的意图

intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));

代码

 public void onClick(View v) {
             Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
             myWebLink.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
             myWebLink.setData(Uri.parse("http://google.com"));
             startActivity(myWebLink);
       }

答案 2 :(得分:1)

在android中有两种类型的意图:

显式意图:明确指定目标组件的位置。 隐式意图:没有指定目标组件,而是提供了一些其他字段,分别是Data,Action,Category ..并根据这些字段(属性)android系统过滤活动或组件来处理意图。

您正在使用Implicit Intent,它将列出可以对Action_VIEW和指定URI起作用的所有活动。要避免这种情况,您只能选择限制Android系统进一步过滤,通过其他参数或将其更改为Explicit Intent。要将其更改为显式意图,您需要目标组件名称。

答案 3 :(得分:1)

在您的布局xml中放置一个WebView

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"

  android:gravity="center"  
  >

  <WebView 
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/web"
/>

</RelativeLayout>

在您的活动中获取对它的引用

WebView mWeb = (WebView) findViewById(R.id.web);

在上面调用loadUrl()。

mWeb.loadUrl("http://google.com");

答案 4 :(得分:0)

这对我有用

        public void onClick(View v) {
            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://google.com"));
            startActivity(browserIntent);
        }