Javascript 在TWA内请求多个权限请求的地理定位

Javascript 在TWA内请求多个权限请求的地理定位,javascript,android-studio,geolocation,progressive-web-apps,trusted-web-activity,Javascript,Android Studio,Geolocation,Progressive Web Apps,Trusted Web Activity,我对编码相当陌生,所以这可能是一个noob问题 我已经创建了一个PWA,并将其作为TWA从android studio内部发布,然后将该应用发布到play store PWA中有一个地理定位功能,可在用户按下特定按钮时确定其位置 var result; function showPosition() { result = document.getElementById("result"); if(navigator.geoloc

我对编码相当陌生,所以这可能是一个noob问题

我已经创建了一个PWA,并将其作为TWA从android studio内部发布,然后将该应用发布到play store

PWA中有一个地理定位功能,可在用户按下特定按钮时确定其位置

var result;

function showPosition() {
    
    result = document.getElementById("result");
    
    
    if(navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
        result.innerHTML = "Getting the position information...";
    } else {
        alert("Sorry, your browser does not support HTML5 geolocation.");
    }
};


function successCallback(position) {
    result.innerHTML = "Your current position is (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")";
}
我已经在android studio中设置了访问位置权限,这将在应用程序首次启动时成功提示用户获取权限

这在我的android清单中

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我面临的问题是两次询问用户位置权限

首次启动应用程序时会询问权限(本机提示)

然后当他们再次按下TWA中的按钮时(HTML5提示)


是否可以将本机应用程序的权限共享/传递给TWA,以便在本机应用程序内处理所有权限,并且用户在TWA内无需再次批准?

位置委派现在已稳定,这不再是问题。查看有关如何使用它的详细信息。如果此行为持续存在,请在

处提交一个错误。是否第二次询问用户是否已关闭设备的位置?如果是这样的话,那么我认为这是按计划进行的。如果用户拒绝,浏览器会尊重这一点。我做了一些进一步的研究,看起来我需要的是“地理位置授权”。这将把本机应用程序的权限传递到TWA。然而,谷歌似乎仍在开发这一功能,尚未完全发布。。我想我只能等到他们发布后才能将其包含在我的应用程序中
 private static final String[] GPS_PERMISSIONS = {
        Manifest.permission.ACCESS_FINE_LOCATION};


private void verifyPermissions() {

    int permissionGps = ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION);
    int permissionInternet = ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.INTERNET);

    if (permissionGps != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(
                MainActivity.this,
                GPS_PERMISSIONS,
                1

        );