android 使用瀏覽器打開(kāi)指定頁(yè)面的實(shí)現(xiàn)方法
之前,我做一個(gè)功能時(shí),服務(wù)器返回一個(gè)url地址,我需要跳轉(zhuǎn)到指定網(wǎng)頁(yè)。卻發(fā)現(xiàn)自己不知道怎么做,在網(wǎng)上搜索了資料,最終是解決了問(wèn)題。這里記錄一下。
啟動(dòng)android默認(rèn)瀏覽器
在Android程序中我們可以通過(guò)發(fā)送隱式Intent來(lái)啟動(dòng)系統(tǒng)默認(rèn)的瀏覽器。如果手機(jī)本身安裝了多個(gè)瀏覽器而又沒(méi)有設(shè)置默認(rèn)瀏覽器的話,系統(tǒng)將讓用戶選擇使用哪個(gè)瀏覽器來(lái)打開(kāi)連接。
Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
啟動(dòng)指定瀏覽器打開(kāi)
在Android程序中我們可以通過(guò)發(fā)送顯式Intent來(lái)啟動(dòng)指定的瀏覽器。例如我手機(jī)安裝了多個(gè)瀏覽器:QQ瀏覽器、chrome瀏覽器、uc瀏覽器。我可以指定用某個(gè)瀏覽器打開(kāi)這個(gè)鏈接。例如打開(kāi)QQ瀏覽器如下代碼:
Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTION_VIEW,uri); //intent.setClassName("com.UCMobile","com.uc.browser.InnerUCMobile");//打開(kāi)UC瀏覽器 intent.setClassName("com.tencent.mtt","com.tencent.mtt.MainActivity");//打開(kāi)QQ瀏覽器 startActivity(intent);
用uc瀏覽器打開(kāi)只需要把打開(kāi)qq瀏覽器那行代碼注釋掉,然后打開(kāi)uc瀏覽器那行代碼取消注視就行。
也可以指定系統(tǒng)自帶的瀏覽器:
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.baidu.com"); intent.setData(content_url); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); mContext.startActivity(intent);
優(yōu)先使用
推薦用第一種,讓用戶自己去選擇用哪個(gè)瀏覽器打開(kāi)。除非有特殊需求才會(huì)用到第二種。
第二種出錯(cuò)率比較高,假如你想用uc瀏覽器打開(kāi),但是新版本的uc瀏覽器不用原來(lái)的包名了,這個(gè)時(shí)候你就沒(méi)法打開(kāi)了。還有uc瀏覽器兼容有問(wèn)題,我跳轉(zhuǎn)過(guò)去只會(huì)顯示UC首頁(yè),而不是直接提打開(kāi)我提供的http鏈接。但是QQ瀏覽器就沒(méi)有這個(gè)問(wèn)題。
簡(jiǎn)單講講,其實(shí)使用瀏覽器打開(kāi)網(wǎng)頁(yè)就是使用intent跳轉(zhuǎn)到瀏覽器,設(shè)置intent的Action為Intent.ACTION_VIEW,然后設(shè)置intent的Data為網(wǎng)址的URI,就可以使用系統(tǒng)的瀏覽器打開(kāi)網(wǎng)頁(yè)。如果需要跳轉(zhuǎn)到具體的瀏覽器,只需設(shè)置setClassName為具體瀏覽器的包名和activity名稱,具體的在代碼里寫的很詳細(xì)。
這里還可以使用WebView打開(kāi)網(wǎng)頁(yè),也很簡(jiǎn)單。
1、自定義一個(gè)簡(jiǎn)單的WebView瀏覽器,設(shè)置下面屬性:
mWebView = (ProgressWebView) findViewById(R.id.baseweb_webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new WebViewClient());
2、指定需要打開(kāi)的額網(wǎng)頁(yè),在自定義的WebViewActivity中打開(kāi),如:
WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl(<a target="_blank">http://www.hao123.com</a>);
以上所述是小編給大家介紹的android 使用瀏覽器打開(kāi)指定頁(yè)面的實(shí)現(xiàn)方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android使用DatePickerDialog顯示時(shí)間
本文將結(jié)合實(shí)例代碼,介紹Android使用DatePickerDialog顯示時(shí)間,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07Android 中WebView 截圖的實(shí)現(xiàn)方式
這篇文章主要介紹了Android 中WebView 截圖的實(shí)現(xiàn)方式,WebView 作為一種特殊的控件,自然不能像其他系統(tǒng) View 或者截屏的方式來(lái)獲取截圖。本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2017-12-12Android使用第三方庫(kù)實(shí)現(xiàn)日期選擇器
這篇文章主要為大家詳細(xì)介紹了Android使用第三方庫(kù)實(shí)現(xiàn)日期選擇器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Android Java調(diào)用自己C++類庫(kù)的實(shí)例講解
今天小編就為大家分享一篇關(guān)于Android Java調(diào)用自己C++類庫(kù)的實(shí)例講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02Android開(kāi)發(fā)基礎(chǔ)實(shí)現(xiàn)音頻文件的播放詳解
這篇文章主要為大家介紹了Android開(kāi)發(fā)基礎(chǔ)實(shí)現(xiàn)音頻文件的播放詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Android中TextView自動(dòng)適配文本大小的幾種解決方案
在布局中使用的話,注意按照你最大的設(shè)備來(lái)設(shè)置字體大小,這樣在小設(shè)備上回自動(dòng)縮放,下面這篇文章主要給大家介紹了關(guān)于Android中TextView自動(dòng)適配文本大小的幾種解決方案,需要的朋友可以參考下2022-06-06