无法访问网络视图中的位置

时间:2019-10-15 08:49:35

标签: java android

我基于react项目为android创建了一个本地webview。 我想访问设备位置,但是当我打开应用程序时显示错误:这是我在android中添加的权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

在我的app.js文件中,我创建了一个useEffect函数来访问我的位置,如下所示:

useEffect(() => {
    navigator.geolocation.getCurrentPosition(positions => {
      /*
      setLat(positions.coords.latitude);
      setLon(positions.coords.longitude);
      */
      localStorage.setItem("lat", positions.coords.latitude);
      localStorage.setItem("lon", positions.coords.longitude);

    }, err => alert(err));
  }, [])

我在运行应用程序时会显示alert消息 而belov是我的Java代码:

if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            AlertDialog .Builder alertDialog;
            alertDialog = new AlertDialog.Builder(MainActivity.this);

            alertDialog.setMessage("permite accesul la locatie")
                    .setTitle("eroare locatie");
            AlertDialog mesajEroare = alertDialog.create();
            mesajEroare.show();


        } else {
            mySite = (WebView)findViewById(R.id.site);
            mySite.getSettings().setGeolocationDatabasePath( MainActivity.this.getFilesDir().getPath() );
            mySite.setWebChromeClient(new WebChromeClient() {
                public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
                    callback.invoke(origin, true, false);
                }
            });
            WebSettings setari = mySite.getSettings();
            setari.setJavaScriptEnabled(true);
            setari.setDomStorageEnabled(true);
            setari.setDatabaseEnabled(true);
            setari.setDatabasePath("/data/data/" + mySite.getContext().getPackageName() + "/databases/");
            setari.setGeolocationEnabled(true);
            mySite.loadUrl("http://10.0.2.2:3000/");


        }

我不知道问题出在哪里! 谢谢!

0 个答案:

没有答案