Попытка получить координаты GPS на веб-странице HTML5 с помощью порта Necessitas QWebView. Однако он всегда отвечает не поддерживаемым.
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
ИЗМЕНИТЬ
В соответствии с этой страницей API-интерфейс GeoLocation присутствует в сборке QtWebKit.
http://trac.webkit.org/wiki/QtWebKitFeatures22
ПОДРОБНОСТИ
Телефон: Galaxy Nexus
Платформа: Android 4.1.1 (SDK 14)
Рамка: Qt 4.8.0 для Android armv7a