How to access the camera from inside a Webview?
This is answer
class WebViewActivity : AppCompatActivity() {
private val permission = arrayOf(Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.MODIFY_AUDIO_SETTINGS)
private val requestCode = 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_web_view)
val action: String? = intent?.action
val data: Uri? = intent?.data
WebViewSetup()
if (!isPermissionGranted()) {
askPermissions()
}
webview.webChromeClient = object : WebChromeClient() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
override fun onPermissionRequest(request: PermissionRequest) {
request.grant(request.resources)
}
}
}
private fun askPermissions() {
ActivityCompat.requestPermissions(this, permission, requestCode)
}
private fun isPermissionGranted(): Boolean {
permission.forEach {
if (ActivityCompat.checkSelfPermission(this, it) != PackageManager.PERMISSION_GRANTED)
return false
}
return true
}
@SuppressLint("SetJavaScriptEnabled")
private fun WebViewSetup() {
val url = intent.extras!!.getString("url")
webview.webChromeClient = WebChromeClient()
webview.apply {
if (url != null) {
loadUrl(url)
}
Log.d("callBtn", "Url :: $url!!!! ")
settings.javaScriptEnabled = true
settings.javaScriptCanOpenWindowsAutomatically = true
settings.domStorageEnabled = true
settings.allowContentAccess = true
settings.safeBrowsingEnabled = true
settings.mediaPlaybackRequiresUserGesture = false
}
}
}
Android: WebView - not getting Camera and Mic enabled for conference
After getting those permissions, you need to override onPermissionRequest
in WebChromeClient
like this:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
request.grant(request.getResources());
}
});
Related Topics
Full Screen Without Navigation & Status Bars
Android.Support.V7.App.Activitycompat Not Found
Remove Old and Add New Git in Android Studio
Changing Background Color of the Layout on a Button Click in Android
Android Navigationview: Reduce Space Between Icon and Text and 'Itembackground' Not Working
How to Automatically Open App When Receive Push Notification
Sharing Link on Whatsapp from Mobile Website (Not Application) For Android
Best Practice For Instantiating a New Android Fragment
Check If Json Object Contains Specific Value
How to Disable All User Inputs (Click, Touch) on an Android View
Images Are Not Visible in React-Native App Release Build
Gradle Error: Could Not Execute Build Using Gradle Distribution
Remove Scroll Bar Track from Scrollview in Android
How to Select Only One Checkbox in Recyclerview and Notifydataset Changed
How to Select Just One Radiobutton With Recyclerview Android