1. 程式人生 > >Android訪問網頁的兩種方式

Android訪問網頁的兩種方式

目錄

兩種開啟網頁的簡單方式

訪問網頁是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的例項,在呼叫WebView的getSettings()方法設定瀏覽器的屬性,上面的程式碼只是簡單呼叫了setJavaScriptEnabled()方法讓WebView支援JavaScript指令碼。接著呼叫setWebViewClient()方法傳入一個WebViewClient例項,這段程式碼保證了在網頁跳轉中仍然讓內容出現在我們的WebView控制元件中,而不是開啟系統的瀏覽器。最後呼叫loadUrl()並傳入網址,就能將相應的網頁展示出來了。

後記:關於WebView的屬性的詳細解析過段時間再貼出來,需要再好好研究。。

相關推薦

Android Studio中下載Android SDK的方式Android Studio3.0、windows)

方式一、設定HTTP Proxy 1. 開啟Settings 2. 點選HTTP Proxy,選擇Manual proxy configuration: 設定 Host name 為:mirrors.neusoft.edu.cn 設定 Port number 為:80

System.Web.Http.Cors配置跨域訪問方式

在webapi中使用System.Web.Http.Cors配置跨域資訊可以有兩種方式。   一種是在App_Start.WebApiConfig.cs的Register中配置如下程式碼,這種方式將在所有的webapi Controller裡面起作用。 using System; usi

apache 配置虛擬目錄訪問和域名訪問方式

環境搭建:在 D:/tomcat/apache-tomcat-7.0.47/webapps下建三個站點 web1,web2,web3每個站點下面只需要放一個index.html或者index.jsp用於標識資訊 一,虛擬目錄訪問 Listen 80 Alias /web

Android Studio 中方式定製自己的程式碼註釋頭

在使用Android Studio的時候,每當新建立一個Java檔案的時候,系統會自動幫我們生成一個檔案註釋頭,類似 /*** *Create By SomeOne  On 2017/03/30  *

appium搭建之 下載Android SDK的方式

  搭建appium 環境時,sdk安裝不成功,找了很多解決方法,最終以下方式解決了我的問題: 方式一、SDK Manager.exe頁面, 1. 開啟Settings 2. 點選HTTP Proxy,選擇Manual proxy configuration: 設定 Host name 為:

Android開發】圖形影象處理技術-實現Android動畫的方式

在應用Android進行專案開發時,特別是在進行遊戲開發時,經常需要涉及動畫。Android中的動畫通常可以分為逐幀動畫(Frame Animation)和補間動畫(Tween Animation)兩種。下面將分別介紹這兩種動畫。 一.實現逐幀動畫(Frame Animat

Ajax+PHP實現跨域訪問方式

1.相容IE瀏覽器的方法,在Ajax請求的時候使用jsonp: $("#search").click(function() { $.ajax({ type : "GET",

Android多渠道打包方式(帶秒速打包)

多渠道打包,主要是為了統計不同的渠道上包的下載數量,統計可以用umeng統計或者mta統計,本文用的是mta統計。 其實多渠道打包的實現與統計是沒有關係的,多渠道打包與統計之間的關係是我們要把String型別的渠道號交給統計。例如mta統計裡

Android學習—下載Android SDK的方式

newest source 選擇 進行 soft conf .net 下載地址 響應時間 在Android Studio中下載Android SDK的兩種方式 Android studio下載地址:http://www.android-studio.org/ 方式一、設置H

Nginx部署靜態頁面及引用圖片有效訪問方式

nbsp font image 核心 serve 易懂 很多 靜態 簡單 nginx安裝百度一下有很多,直接正題: 靜態文件目錄結構 file#文件位置 /home/service/file/   css   js   images   html   font

Android訪問網頁方式

目錄 兩種開啟網頁的簡單方式 訪問網頁是APP最常用的功能,正如大家所知,載入和顯示網頁通常都是由瀏覽器來完成的,所以開啟網頁的最簡單的方法就是呼叫手機系統瀏覽器。然而大部分時候使用者的需求裡明確指出,不允許開啟系統瀏覽器。Android考慮到這種

android------引導頁實現方式(原生和WebView網頁實現)

有的App當你第一次開啟的是和常常會有引導頁來描述一些App資訊(功能,特點),當然也要做驗證,驗證第二次進入不進入引導頁,直接進入App,此部落格藉助ViewPager來實現引導頁, ViewPager類提供了多介面切換的新效果,是谷歌在3.0之後加入的新特性,所以需要引

Android: Android Studio簽名打包的方式(zz)

信息 rda pan 相同 prop .cn 一個 一次 ack 註:給我們自己開發的app簽名,就代表著我自己的版權,以後要進行升級,也必須要使用相同的簽名才行。簽名就代表著自己的身份(即keystore),多個app可以使用同一個簽名。如果不知道簽名是啥意思,請自行百度

Android------Button 添加聲音效果(方式

div abs 一次 播放 pool 當前 傳送門 ide col 我在先前的案例《Android 的底部導航欄 BottomNavigationBar》中添加以底部 的4個按鈕切換添加聲音 下來看看案例效果圖 使用添加依賴 comp

android 隱藏默認標題欄方式

feature set body eat androi get featrue blog title 在setconnetView()之前加入 requestWindowFeature(Window.FEATURE_NO_TITLE);//第一種 getWindow().s

網絡協議 finally{ return問題 註入問題 jdbc註冊驅動問題 PreparedStatement 連接池目的 1.2.1DBCP連接池 C3P0連接池 MYSQL方式進行實物管理 JDBC事務 DBUtils事務 ThreadLocal 事務特性 並發訪問 隔離級別

ID -- 1.7 ner red style 沒有 建立 工具 1.1.1 API詳解:註冊驅動 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建議使用 原因有2個: >導致驅動被註冊2次。 &

Android以JSONOject和GSON方式解析json

length pre ray oid 字符 CA clas img name json文件如下: 將獲取到的json數據轉化為String形式 OkHttpClient client = new OkHttpClient(); R

詳解Nginx方式實現訪問控制

vfk 用戶 用戶輸入 bfd pcre 效果 sys ado 密碼認證 簡介 基於用戶的訪問控制就是對網頁目錄進行認證配置,用戶輸入用戶名密碼之後才能訪問網頁基於IP的訪問控制即使可以通過配置基於ip的訪問控制,達到讓某些ip能夠訪問,限制哪些ip不能訪問的效果 實驗環境

JS中訪問對象的方式區別

log 存在 語言 pre 兩種 初始 cti col span 可以使用下面兩種方式訪問對象的屬性和方法 1.對象名.屬性名    對象名.方法名() 2.對象名["屬性名"]   對象名["方法名"]() 1 var obj = { 2

Android專案開源到JCenter方式

前言 開發中,或多或少都會用到無私的程式猿分享的開源專案,Androidstudio中使用開源也很方便 例如家喻戶曉的Rxjava,只需要一句話 compile 'io.reactivex:rxjava:1.1.6',就可以新增到專案中,時間久了,是不是自己也想試試開源一下自己的成果