尝试在使用 Necessitas 的 QWebView 端口查看的 HTML5 网页中获取 GPS 坐标。但是它总是以不支持响应。
function load( )
{
if ( navigator.geolocation )
{
alert( "Supported." );
}
else
{
alert( "Not Supported!" );
}
}
我已更改 QWebPage 以允许权限:
BrowserWebPage::BrowserWebPage( QObject* parent ) : QWebPage( parent )
{
connect( this,
SIGNAL( featurePermissionRequested( QWebFrame*, QWebPage::Feature ) ),
SLOT( permissionRequested( QWebFrame*, QWebPage::Feature ) ) );
}
void BrowserWebPage::permissionRequested( QWebFrame* frame, QWebPage::Feature feature )
{
if ( feature == Geolocation )
{
setFeaturePermission( frame, feature, PermissionGrantedByUser );
}
else //denied
{
setFeaturePermission( frame, feature, PermissionDeniedByUser );
}
}
并设置以下权限:
android.permission.INTERNET
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
编辑
根据此页面,GeoLocation API 存在于 QtWebKit 构建中。
http://trac.webkit.org/wiki/QtWebKitFeatures22
细节
电话:Galaxy Nexus
平台:Android 4.1.1 (SDK 14)
框架:Qt 4.8.0 for Android armv7a