Android访问网页的两种方式

2017-03-16  本文已影响0人  boilingcola

两种打开网页的简单方式

访问网页是APP最常用的功能,正如大家所知,加载和显示网页通常都是由浏览器来完成的,所以打开网页的最简单的方法就是调用手机系统浏览器。然而大部分时候用户的需求里明确指出,不允许打开系统浏览器。Android考虑到这种需求,提供了一个WebView控件,省去了重新编写一个浏览器的麻烦。先说明下这两种打开方式:

(一)调用浏览器显示

1.调用系统默认浏览器访问


//隐式调用Intent,指定Intent的action是Intent.ACTION_VIEW;

Intent intent =new Intent(Intent.ACTION_VIEW);

Uri uri = Uri.parse("http://www.baidu.com");

intent.setData(url);

startActivity(intent);


2.调用指定浏览器访问

调用指定的浏览器(前提得安装在设备上^-^),需要用intent.setClassName()来指定packgename和主启动activity:


Intent intent =new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.baidu.com"));

intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); 

startActivity(intent);


目前的浏览器不说多如牛毛,常见的也有不少了,每个人的偏好肯定都不一样,需要启用其他的浏览器的话,只需要修改以下相应的packagename和主启动activity就能够调用其他浏览器:

intent.setClassName("packagename","主启动activity");

这边列出一些常见浏览器的包名和主活动参数:

uc浏览器":"com.uc.browser", "com.uc.browser.ActivityUpdate“

opera浏览器:"com.opera.mini.android", "com.opera.mini.android.Browser"

qq浏览器:"com.tencent.mtt", "com.tencent.mtt.MainActivity"

(二)在Activity中直接访问(WebView显示)

1.在AndroidManifest.xml文件里添加网络访问权限

磨刀不误砍柴工,准备工作需要做好,我们使用WebView的最终目的是打开一个网页,而android中访问网络是需要声明权限的,所以我们需要修改一下AndroidManifest.xml文件,加入权限声明:

<user-permission  android:name="android.permission.INTERNET" />

2.在布局文件里添加一个WebView控件


<WebView

android:id="@+id/web_view"

android:layout_height="match_parent"

android:layout_width="match_parent"/>


3.在Activity中实例化WebView对象并实现访问网页


WebView webView = (WebView) findViewById(R.id.web_view);

webView.getSettings().setJavaScriptEnabled(true);

webView.setWebViewClient(newWebViewClient());

webView.loadUrl("http://www.baidu.com");


首先使用findViewById()获取WebView的实例,在调用WebViewgetSettings()方法设置浏览器的属性,上面的代码只是简单调用了setJavaScriptEnabled()方法让WebView支持JavaScript脚本。接着调用setWebViewClient()方法传入一个WebViewClient实例,这段代码保证了在网页跳转中仍然让内容出现在我们的WebView控件中,而不是打开系统的浏览器。最后调用loadUrl()并传入网址,就能将相应的网页展示出来了。


后记:关于WebView的属性的详细解析过段时间再贴出来,需要好好研究


上一篇 下一篇

猜你喜欢

热点阅读