我对编码相当陌生,所以这可能是菜鸟问题..
我创建了一个 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 提示符)
是否可以将本机应用程序的权限共享/传递给 TWA,以便在本机应用程序内处理所有权限,并且用户无需在 TWA 内再次批准?