我怎样才能在打开一个URL 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);
}
}
);
}
干得好。
确保包括<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);
可以试试这个您的意图
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);
}
在Android中,有两种类型的意图:
显式意图:其中目标组件指定的,明确的。 隐式意图:未指定目标组件,而不是有一些其它字段被设置,其是数据,动作,类别..并根据这些字段(属性)机器人系统的过滤器的活动或组件来处理的意图。
并且您使用隐式意图,它会列出所有可以在ACTION_VIEW工作的各项活动,并指定URI。 为了避免这种情况你只有你可以限制Android系统,以进一步筛选,其他一些参数选项,或将其更改为明确意图。 并且将其更改为明确意图则需要目标组件名称。
放的WebView在布局XML
<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");