When an NFC tag is being read by the Web NFC API through Android WebView, the following error is shown:
NotAllowedError: Failed to execute 'scan' on 'NDEFReader': NFC permission request denied.
JavaScript in the Android WebView is enabled. I've seen in the Web NFC API documentation that Web NFC is supported in Android WebView.
MainActivity.kt code:
package com.example.webloader
import android.annotation.SuppressLint
import android.os.Bundle
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
private lateinit var webView: WebView
private lateinit var urlInput: EditText
private lateinit var goButton: Button
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webView)
urlInput = findViewById(R.id.urlInput)
goButton = findViewById(R.id.goButton)
webView.webViewClient = WebViewClient()
webView.settings.javaScriptEnabled = true
goButton.setOnClickListener {
var url = urlInput.text.toString().trim()
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "https://$url"
}
webView.loadUrl(url)
}
}
}
Is there any way to solve this?
AndroidManifest.xmlas additional permissions are required