0

私のコードは、onLocationChangedメソッドで到達できません。私はエミュレータではない物理デバイスを使用しています。ご意見をお寄せください、ありがとうございます。アンドロイドのIndoorAtlas sdkを使ってlong latを得ることができません

private IALocationListener locationListener = new IALocationListener() { 
    @Override 
    public void onLocationChanged(IALocation location) { 
     Log.d(TAG, "Latitude: " + location.getLatitude()); 
     Log.d(TAG, "Longitude: " + location.getLongitude()); 
    } 

コントロールがonStatusChangedに達していないが、上の

@Override 
protected void onPause() { 

    super.onPause(); 
    locationManager.removeLocationUpdates(locationListener); 
} 

onDestroy

onPause

@Override 
    public void onStatusChanged(String s, int i, Bundle bundle) { 
     Log.d("onStatus","0"); 
    } 
}; 

onResume

@Override 
protected void onResume() { 
    super.onResume(); 
    locationManager.requestLocationUpdates(IALocationRequest.create(),locationListener); 
} 

をonLocationChanged

@Override 
protected void onDestroy() { 
    locationManager.destroy(); 
    super.onDestroy(); 
} 

答えて

1

原因が始まるかもしれない物事のカップルあります:

  • あなたはで説明したようにマッピングするニーズにテストしている会場:http://docs.indooratlas.com/app/
  • 一度マッピングされ、クラウド側は "上記の文書の手順3で説明したように「磁気地図」を生成する必要があります
  • 加速度センサー、ジャイロ、磁力計などのAndroid搭載機器が必要です
  • Wi-Fi scanninステータスコールバックの引数をプリントアウトし、トラブルシューティングを始めるにはhttp://docs.indooratlas.com/android/getting-started.html

:グラムはそうあなたがに説明に従ってセットアップIndoorAtlas SDKを持っているあなたのデバイス

  • 上の位置情報サービスを有効にお使いのデバイス上で有効にする必要があります:

    public void onStatusChanged(String s, int i, Bundle bundle) { 
         Log.d(LOG_TAG, "onStatusChanged, code: " + i + ", args: " + bundle); 
    } 
    

    ステータスコードとhttp://docs.indooratlas.com/android/2.2.2/com/indooratlas/android/sdk/IALocationManager.htmlのステータスコードを比較してください。

    もう一つは、タグ「IASDK」とのいずれかのログステートメントのために外を見ることです:https://github.com/IndoorAtlas/android-sdk-examples/issues/5

    adb logcat *:E IASDK:V 
    

    のGitHubで同じ問題についてかなり広範な議論もあります。

    希望すると、これがうまくいき、位置情報の更新を開始することができます。

  • 関連する問題