日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android webview加载页面获取摄像头权限实践(Kotlin)

發布時間:2023/12/14 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android webview加载页面获取摄像头权限实践(Kotlin) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景介紹:

Android app中的webview加載含攝像頭相關邏輯的H5頁面,進行賦權的操作

H5頁面調取攝像頭邏輯:

vue編寫

<template><div><p>test page</p><div><video ref="video1" width="300" height="300" autoplay muted playsinline='true' webkit-playsinline='true' controls></video></div><div @click="run">start</div></div> </template><script> export default {name: "TestPage",mounted() {},methods: {async run() {if (navigator.mediaDevices.getUserMedia) {navigator.mediaDevices.getUserMedia({ video: true }).then((stream) => {this.$refs.video1.srcObject = stream}).catch((err) => {console.log('Camera Error: ' + err.name + ' ' + err.message);});} else {console.log("搞飛機")}},} } </script><style scoped></style>

Android部分:

一:AndroidManifest.xml部分

新增相關權限

<uses-permission android:name="android.permission.CAMERA"/><uses-permission android:name="android.webkit.PermissionRequest" /><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

二:webview部分

<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".QimuActivity"><WebViewandroid:id="@+id/webView"android:layout_width="match_parent"android:layout_height="match_parent" /> </LinearLayout> class QimuActivity : AppCompatActivity() {var web_url: String = "" // url地址@RequiresApi(Build.VERSION_CODES.LOLLIPOP)override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)ActivityCompat.requestPermissions(this@QimuActivity, arrayOf(Manifest.permission.CAMERA),1010) // 提前獲取攝像頭權限setContentView(R.layout.activity_qimu)val webView: WebView = findViewById(R.id.webView)web_url = intent.getStringExtra("web_url").toString()webView.settings.userAgentString = "app/liveless"webView.settings.javaScriptEnabled = truewebView.settings.domStorageEnabled = truewebView.settings.defaultTextEncodingName = "UTF-8"webView.settings.allowContentAccess = true // 是否可訪問Content Provider的資源,默認值 truewebView.settings.allowFileAccess = truewebView.settings.allowContentAccess = truewebView.settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOWwebView.webChromeClient = object : WebChromeClient() {@RequiresApi(Build.VERSION_CODES.LOLLIPOP)override fun onPermissionRequest(request: PermissionRequest?) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {request!!.grant(request.resources)}}}webView.loadUrl(web_url)} }

點個贊再走吧!😁

總結

以上是生活随笔為你收集整理的Android webview加载页面获取摄像头权限实践(Kotlin)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。