H5 呼叫android原生相機程式碼分析
H5 頁面在webView中呼叫原聲相機:
H5 端的程式碼:如下:
<input id="upload" type="file" accept="image/*;" capture="camera" > //文字輸入框;
android端的程式碼:
webView.setWebChromeClient(newLiuyyWebChromeClient(this));
這裡的 LiuyyWebChromeClient是自定義的 WebChromeClient物件;
下面貼一下LiuyyWebChromeClient類的程式碼
/** * 作用: {1, 自定的實現webView這裡實現了對android 5.0 通過webView呼叫本地相機的支援;拍照上傳的工具類} * 作者:liuyiyuan * 日期:2016/11/10 10:48 * 郵箱:[email protected] * weixin: Dkalan */ public class LiuyyWebChromeClient extends WebChromeClient { public interface OpenFileChooserCallBack { void openFileChooserCallBack(ValueCallback<Uri> uploadMsg, String acceptType); voidopenFileChooserCallBackAndroid5(ValueCallback<Uri[]> uploadMsg, String acceptType); } private OpenFileChooserCallBack mOpenFileChooserCallBack; //選擇圖片回撥介面 public LiuyyWebChromeClient(OpenFileChooserCallBack mOpenFileChooserCallBack) { this.mOpenFileChooserCallBack=mOpenFileChooserCallBack; } //For Android 3.0+public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) { mOpenFileChooserCallBack.openFileChooserCallBack(uploadMsg, acceptType); } // For Android < 3.0 public void openFileChooser(ValueCallback<Uri> uploadMsg) { openFileChooser(uploadMsg, ""); } // For Android > 4.1.1 public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) { openFileChooser(uploadMsg, acceptType); } // For Android > 5.0 @Override public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> uploadMsg, WebChromeClient.FileChooserParams fileChooserParams) { mOpenFileChooserCallBack.openFileChooserCallBackAndroid5(uploadMsg,""); return true; } }
工程demo對android 6.0系統也做了適配
如果需要完整的工程程式碼請下載附件 或者私信我(郵箱:[email protected])
demo頁面測試賬號( 王長順, 123456,身份:教師);請勿隨意上傳圖片,本系統有人在使用,謝謝支援配合。
相關推薦
H5 呼叫android原生相機程式碼分析
H5 頁面在webView中呼叫原聲相機: H5 端的程式碼:如下: <input id="upload" type="file" accept="image/*;" capture="camera" > //文字輸入框; android端的程式碼: w
深坑之Webview,解決H5呼叫android相機拍照和錄影
最近在開發過程中遇到一個問題,主要是呼叫第三方的實名認證,需要拍照和錄影; 辦過支付寶大寶卡和騰訊的大王卡的都知道這玩意,辦卡的時候就需要進行實名認證,人臉識別; 本來第三方平臺(xxx流量公司)說的是直接用WebView載入這個H5介面就完事了,我心想這麼簡單
React Native呼叫Android原生程式碼實現車牌識別功能【附效果圖附原始碼】
這段時間研究了下React Native,Facebook推出的,結合了Web應用和Native應用的優勢,可以使用JavaScript來開發iOS和Android原生應用,決定簡單研究下,於是開始搭建環境,編寫HelloWorld,完成後又覺得HelloWo
React Native自定義外掛,呼叫android原生程式碼
Hi,寶寶們,我又來了,16有你,17前行,18怎麼辦?18讓我們一起學習RN吧,hybrid現在是一個前沿,雖然官網說Learn once, write anywhere~~~ 僅需學習一次,編寫任何平臺。但是你不能指望它幹任何事啊,android原生的很多功能還是無法直接使用的,這個時
23、JS呼叫Android原生程式碼方法
JS呼叫Android原生程式碼方法 1. 宣告@JavascriptInterface,進行物件對映 2. 使用WebViewClient.shouldOverrideUrlLoading函式,攔截URL 3. 使用WebC
react native 呼叫Android原生方法
來源:https://www.youtube.com/watch?v=WmJpHHmOKM8 教程:https://www.youtube.com/watch?v=GiUo88TGebs Breaking Down Bridging in React Native by Peggy R
react-native呼叫Android原生UI元件
當react-native的UI元件不能滿足需求時,可以考慮在原生自定UI元件,讓RN呼叫.使用原生UI所考慮的問題: 一.原生UI被呼叫; 二.修改原生UI屬性值; 三.捕捉原生UI的響應; 四.RN向原生UI元件發訊息; 下面貼上程式碼,逐步分析,實現: 1.在原生裡
React-native呼叫Android原生模組
準備工作:具體詳情參考React-Native官方文件 IDE: WebStorm 和Android Studio(webstorm不支援java高亮,所以用AS輔助下) demo放到github上了,有需要的可以參考一下. 下載demo 1.為什麼呼叫原生的一
React Native之js呼叫Android原生使用Callback傳遞結果給js
1 問題 上面的文章只是呼叫安卓原生顯示Toast,但是我們一般會需要呼叫安卓的程式碼然後去拿回結果給js,但是我們知道在android層js呼叫的這個函式返回值必須的void,所以我們需要用到Callback,Callback一般用於同步,也就是說直接呼叫
ReactNative 呼叫Android 原生(一)——原生模組(一)
前言 React native呼叫Android原生主要2種方式: 1、呼叫原生模組 2、呼叫原生元件 這裡之所以強調有2種方式主要是自己剛開始弄rn調原生的時候感覺很懵,感覺沒有學習的方向,所以提醒一
ReactNative 呼叫Android 原生(一)——原生模組(二)
ReactNative 呼叫Android 原生(一)——原生模組(一):https://blog.csdn.net/danfengw/article/details/83862623 在上次文章中我們只是簡單的嘗試了rn給Android原生傳遞引數呼叫Andr
ReactNative 呼叫Android 原生(二)——原生元件
先說下我遇到的坑: 原本學完React Native呼叫原生模組我覺得挺順利的,也挺容易理解的,覺得呼叫Android原生元件也是不成問題,應該挺快的,結果React Native 調原生元件一直不顯示,在網上找了好多文章對比看,覺得自己程式碼、步驟都沒有問題
【每天堅持學一點之unity】1、Unity簡單呼叫Android原生方法的一些記錄
本文的思路靈感來源於CSDN上的一篇部落格,非常感謝原作者,原文地址為: https://blog.csdn.net/sinat_23156865/article/de
Android Looper類程式碼分析
本文將分析一下Looper類的實現及其應用,程式碼位於 frameworks/native/lib/utils/Looper.cpp。主要分為如下幾個部分: 1. epoll系統呼叫介面簡介 2. Looper類程式碼分析 3. Looper類應用例項分析 一、epol
呼叫android系統相機拍照並將圖片傳指定路徑並獲取相片
public void onClick(View v) { if (v.getId() == R.id.btn_take) { // 調系統相機 if (Environment.getExterna
H5呼叫Android圖片上傳功能
public class OpenFileWebChromeClient extends WebChromeClient { public static final int REQUEST_FILE_PICKER = 1; public ValueCallback<Uri> mF
Android中WheelView程式碼分析筆記1(明天繼續分析 >>>>>)
package com.guozg.wheelview.views; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint;
H5與android原生的JS互動
公司最近接手了一個電信的專案,其中最關鍵的技術就是H5頁面與android的互動。因為之前專案中H5與原生介面的載入動畫是分開寫的,導致大小以及效果有差距,所以我才有接觸兩者之間互動的學習機會。簡單
Unity簡單呼叫Android原生方法的一些記錄
本文的思路靈感來源於CSDN上的一篇部落格,非常感謝原作者,原文地址為: https://blog.csdn.net/sinat_23156865/article/details/54143064 之前一直是做PC端的一些東西的,所以對於Unity
(八)React Native實現呼叫android原生java方法並實現廣播的傳送和接受
接觸到混合應用開發提議後,首先想到了之前學的ionic,其次便是這兩年火遍全球的RN,由於ionic框架用的angular.js,而且angular1和angular2寫法區別很大,angular2對於初學者還是比較好接受的,但是angular1寫的很亂,程式碼