如何在点击按钮后在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);
}
}
);
}
答案 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);
}