Сканер камеры не показывает - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь получить сканер в моем андроиде, используя jsinterface и zxing .. для Java это работает, но я не хочу пробовать в веб-просмотре, используя jsinterface, Toast запускается и показывает, но сканер не запускается .. Чтоя должен сделать .. мой код как показано ниже

            //my Activity
            public class WebViewActivity extends Activity {

                @Override
                protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_webview);
                    WebView webView = (WebView) findViewById(R.id.webview);
                    webView.loadUrl("file:///android_asset/index.html");
                      //interface for show toast
                    webView.addJavascriptInterface(new WebAppInterface(this), "AndroidInterface"); 
                    //interface for show scanner
                    webView.addJavascriptInterface(new XzingInterface(this), "Android");     
                    WebSettings webSettings = webView.getSettings();
                    webSettings.setJavaScriptEnabled(true);
                    webView.setWebViewClient(new MyWebViewClient());
                    webView.setWebChromeClient(new MyWebChromeClient());
                }

            }

            //class XzingInterface
            public void ScanNow() {
            integrator = new IntentIntegrator(this);
            integrator.initiateScan();
            }

            //class WebAppInterface
            public void showToast(String toast) {
                    Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
                }

            //HTML
            <button ocnlclik="Scan()">Scan</button> //not respond anything
            <button ocnlclik="showAlert('Test Alert JSinterface')">Test Alert</button> //alert is run perfect

            <script type="text/javascript">
            function Scan(){
                Android.ScanNow();
                }
            function showAlert(msg){
                AndroidInterface.showToast(toast);
                }
            </script>
...