0

我对编码相当陌生,所以这可能是菜鸟问题..

我创建了一个 PWA,并在 android studio 中将其作为 TWA 启动,然后将应用程序发布到 Play 商店。

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 中设置了 ACCESS_FINE_LOCATION 权限,这将在应用程序首次启动时成功提示用户提供权限。

这是在我的 android 清单中

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

这是主要活动:

 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

        );

我面临的这个问题是两次询问用户位置权限。

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

原生提示截图

然后再次按下 TWA 中的按钮(HTML5 提示符)

PWA 提示截图

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

4

1 回答 1

1

位置委派现在很稳定,这应该不再是问题了。查看演示应用程序以了解如何使用它。如果此行为仍然存在,请在https://crbug.com提交错误

于 2021-02-23T11:13:01.350 回答