1. 程式人生 > >Android開發之如何在WebView中點選連結使用自身開啟(解決出現的選擇使用第三方應用的問題)

Android開發之如何在WebView中點選連結使用自身開啟(解決出現的選擇使用第三方應用的問題)

最近在學習Android基礎開發的時候,學到了WebView這一部分,發現按照最基本的編寫方式,每次系統都提示使用第三方應用開啟(使用紅米1s作為測試機型,MIUI6.7.1.0)。百度後得到答案:

package demo.androidyue.webview; 

import android.app.Activity; 

import android.os.Bundle; 

import android.webkit.WebView; 

import android.webkit.WebViewClient; 

public class WebViewDemoActivity extends Activity { 

    private WebView webView; 

    /** Called when the activity is first created. */ 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.main); 

        //初始化WebView 

        this.initWebView(); 

    } 

    /*

     * 初始化WebView

     */ 

    private void initWebView(){ 

        //從佈局檔案中擴充套件webView 

        this.webView=(WebView)this.findViewById(R.id.webview); 

        //為WebView設定WebViewClient處理某些操作 

        this.webView.setWebViewClient(new webViewClient()); 

        //載入地址 

        this.webView.loadUrl("http://10.0.2.2"); 

    } 

   class webViewClient extends WebViewClient{ 

       //重寫shouldOverrideUrlLoading方法,使點選連結後不使用其他的瀏覽器開啟。 

    @Override 

    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

        view.loadUrl(url); 

        //如果不需要其他對點選連結事件的處理返回true,否則返回false 

        return true; 

    } 

   } 

關鍵就是為WebView設定WebViewClient,然後重寫shouldOverrideUrlLoading方法即可。其中WebViewClient為WebView的一個輔助類,主要處理各種通知、請求事件。

摘自 BossDarcy的專欄


相關推薦

Android開發如何在WebView中點連結使用自身開啟解決出現選擇使用第三方應用的問題

最近在學習Android基礎開發的時候,學到了WebView這一部分,發現按照最基本的編寫方式,每次系統都提示使用第三方應用開啟(使用紅米1s作為測試機型,MIUI6.7.1.0)。百度後得到答案: package demo.androidyue.webview; 

Android開發Webview中原生與JS互動

文章目錄 概述 使用場景 互動方式 Java呼叫JS程式碼 JS呼叫Java程式碼 總結 概述 由於手機硬體資源的快速提升,使得采用混合開發的可能性逐漸成為現實並且流行起來。Android開發中

Android開發WebView和JS互動詳解

Android提供了一個很強大的WebView控制元件用來處理Web網頁,而在網頁中,JavaScript又是一個很舉足輕重的指令碼。本文將介紹如何實現Java程式碼和Javascript程式碼的相互呼叫。 如何實現 實現Java和js互

Android開發AIDL實現遠端服務程序通訊IPC

首先什麼是AIDL呢,它是Android系統中的一種介面定義語言,用於約束兩個程序間的通訊規則,供編譯器生成程式碼。 實現Android裝置上的兩個程序間通訊(IPC),程序之間的通訊資訊首先會被轉換成AIDL協議資訊,然後傳送給對方;對方接收到AIDL協議資

Android開發手把手教你寫ButterKnife框架

系列文章目錄導讀: 一、概述 JakeWharton我想在Android界無人不知,無人不曉的吧, ButterKnife這個框架就是出自他隻手。這個框架我相信很多人都用過,本系列部落格就是帶大家更加深入的認識這個框架,ButterKnife截至目前

Android開發仿QQ側滑刪除實現

一、把SlideDelete的簡單樣式先做出來。 SlideDelete繼承自ViewGroup,在引用SlideDelete的xml的位置include進兩個layout,一個是內容,一個是刪除 一、1、準備兩個佈局 內容部分 <?xml version="1.

網頁中點連結沒有反應無法響應JS請求

有時候網頁中點選連結沒有反應,例如登入頁面,反覆點選登入按鈕,頁面都沒有響應,這種情況通常是javascript的DLL檔案出了問題,重新註冊一下就可以解決。方法: 開始->執行->輸入:regsvr32 jscript.dll 回車,重新啟動IE,通常就OK

[轉] Android開發如何保證Service不被殺掉broadcast+system/app

轉發:原文連結http://blog.csdn.net/mad1989/article/details/22492519 序言 最近專案要實現這樣一個效果:執行後,要有一個service始終保持在後臺執行,不管使用者作出什麼操作,都要保證service不被kill,這可真是一個難題。參考了現今各種定製版的系

Android開發如何保證Service不被殺掉broadcast+system/app

序言 最近專案要實現這樣一個效果:執行後,要有一個service始終保持在後臺執行,不管使用者作出什麼操作,都要保證service不被kill,這可真是一個難題。參考了現今各種定製版的系統和安全廠商牛虻軟體,如何能保證自己的Service不被殺死呢?

Android開發手把手教你寫ButterKnife框架

系列文章目錄導讀: 一、概述 然後在Processor裡生成自己的程式碼,把要輸出的類,通過StringBuilder拼接字串,然後輸出。 try { // write the file JavaFileObject

Android開發華為手機無法看log日誌解決方法親測可用華為榮耀6

華為榮耀的測試機,發現在Android Studio下無法檢視log日誌,看不了日誌就不方便解決問題了。 解決方法: 進入手機撥號介面輸入:*#*#2846579#*#*依次選擇ProjectMenu—後臺設定—-LOG設定—LOG開關 點選開啟, 點LOG級別選V

Android系列音樂播放器的實現一播放手機記憶體音訊檔案

現在給大家實現的是利用手機記憶體卡里的音訊檔案去播放的,至於xml佈局檔案大家可以去看我上一篇部落格的,因為這兩篇部落格是相關聯的。現在就開始吧!xml配置檔案許可權:(一定要加上) <uses-permission android:name="android.per

關於webview中java呼叫js函式解決loadUrl函式沒反應

看了網上的Demo都是說簡單,一句話webview.loadUrl("javascript:show()"); 坑!!!! webview.loadUrl("javascript:show()"); 要在UI執行緒!!!!! webview.loadUrl("javascr

Android開發實現多次點事件

 使用Google提供的api中採用的演算法 能夠實現n次點選事件,我們需要定義一個n長度的陣列,每點選一次將數組裡的內容按序號整體向左移動一格,然後給n-1出即陣列的最後添加當前的時間,如果0個位置的時間大於當前時間減去1000毫秒的話,那麼證明在1000毫秒內點選了n次。實現如

Android開發TabLayout真正實現底部導航欄(可實現點文字顏色圖片切換)

前言:關於這個TabLayout實現底部導航,在我的上篇《Android開發之TabLayout實現底部導航欄》部落格中有提到,但是後面在仔細的接觸專案中,發現了裡面有很多沒有解決的事情,比如不能實現點選文字顏色和圖片的切換,不能做到禁止左右滑動,所以趁著今天有時間的情況下

混合開發webView載入html,android 和 html之間進行資料互動

現在混合開發比較普遍了,其實早就該學學了,只限於自己對html不是很熟,搭的介面太醜了,哈哈… 今天寫Demo的需求是這樣的 1、在一個介面裡,半面html,半面android原生控制元件。 2、點選html傳送html的資料給android ,andro

Android開發--縮圖點檢視大圖

android中點選縮圖檢視大圖的方法一般有兩種,一種是想新浪微博list頁面那樣,彈出一個視窗顯示大圖(原activity為背景)。另一種就是直接開啟一個新的activity顯示大圖。1、第一種方法我們可以使用自定義的AlertDialog來實現,程式碼如下: ImageView image=(Imag

WebView自定義瀏覽器在點連結後不使用其他瀏覽器開啟

只需要新增一下程式碼即可 webview.setWebViewClient(new WebViewClient() {    //重寫shouldOverrideUrlLoading方法,使點選連結後

android軟體開發webView.addJavascriptInterface迴圈漸進【一】

程式碼 由於這裡是第一階段的webView所我就寫個最簡單的文章,這樣大家可以迴圈漸進的來了解addJavascriptInterface這句話是怎麼用的。 在這裡我們引用Google的一個事例下面是我Google給提供的一個dome的地址:點選開啟連結 我們先看它的HTM

Android安全開發WebView中的大坑

0X01 About WebView      在Android開發中,經常會使用WebView來實現WEB頁面的展示,在Activiry中啟動自己的瀏覽器,或者簡單的展示一些線上內容等。WebView功能強大,應用廣泛,但它是天使與惡魔的合體,一方面它增強了APP的上