android geolocation权限提示不会来 - phonegap应用程序

时间:2012-12-02 18:23:02

标签: cordova

我正在构建一个HTML5应用程序,我正在测试地理定位功能。 我使用以下代码访问用户的地理位置。

if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(this.showPosition);
    }

当我使用phonegap在Android上使用此代码运行应用程序时,我没有看到允许或拒绝用户的地理定位的权限提示。

但是,在桌面浏览器上会显示提示。

我正在直接加载我的网页,如下面的代码在我的主要活动文件中。我没有使用webview对象。

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    super.loadUrl("file:///android_asset/Code/Test.html");
}

在清单文件中正确地给出了权限,我得到了用户的地理位置,但权限提示不会显示在android中。

2 个答案:

答案 0 :(得分:2)

我没有提及确认我的答案,但我相信这是预期的行为。在Web浏览器中加载应用程序时,您尚未明确授予应用程序权限以了解您的位置。因此,系统会提示您为应用程序提供该信息的访问权限。在移动应用中,您在安装应用时提供该权限。这就是为什么(至少在Android中)显示应用程序在安装时需要的权限列表。然后,当您运行应用程序时,您已经说过它可以访问您的位置。

答案 1 :(得分:0)

请确保您在设备准备就绪后调用地理位置API - 有关详细信息,请参阅here