1

地理位置情報機能をテストしている HTML5 アプリを構築しています。以下のコードを使用して、ユーザーの地理位置情報にアクセスしています。

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

phonegap を使用して Android でこのコードを使用してアプリを実行すると、ユーザーのジオロケーションを許可または拒否する許可プロンプトが表示されません。

ただし、デスクトップ ブラウザではプロンプトが表示されます。

以下のコードのように、メイン アクティビティ ファイルに Web ページを直接読み込んでいます。私は webview オブジェクトを使用していません。

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

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

アクセス許可はマニフェスト ファイルで適切に指定されており、ユーザーの地理位置情報を取得していますが、アクセス許可のプロンプトが Android に表示されません。

4

2 に答える 2

2

私の答えを確認するための参照はありませんが、これは意図した動作だと思います。アプリケーションを Web ブラウザにロードするとき、アプリケーションが現在地を知る許可を明示的に与えていません。したがって、アプリにその情報へのアクセスを許可するよう求められます。モバイルアプリでは、アプリをインストールするときにその許可を与えます。そのため、(少なくとも Android では) インストール時にアプリケーションが必要とする権限のリストが表示されます。次に、アプリを実行すると、位置情報にアクセスできると既に述べています。

于 2012-12-02T19:06:58.610 に答える
0

デバイスの準備ができたら、地理位置情報 API を呼び出していることを確認してください。詳細については、こちらを参照してください。

于 2013-05-28T21:29:33.273 に答える