2017-06-15 1 views
0

場所にベアリングがあるかどうかを確認したい場合は使用してください。Androidのロケーションは何を確認していますか?

if (loc.hasBearing()) { 
    // code that uses bearing 
} else { 
    // log no bearing 
} 

をコードブロックは0(Math.floor'd)のベアリングのある場所の多くのために実行されます、そして0は、実際のベアリングでなかった場合に:これは私がやっている基本的です。

私は確かに、私は(私はベアリングをサポートプロバイダを使用するか、少なくとも)ベアリングをプレゼントしようか:

criteria.setBearingRequired(true); 
criteria.setBearingAccuracy(Criteria.ACCURACY_MEDIUM); 

私は意思のエキストラに場所を入れて、再びそれを取っています。..多分それはそれと関係がありますか?私はちょうどputExtraとgetParcelableを使用しています - 私はそれが場所を破壊するとは思わないでしょう。

私はあまりにも多くの偽陽性を持つべきではありません0.0のちょうど無視ベアリング、と思っていますが、私が代わりに私のためのAPIのクリーンな利用があった期待していました。 documentationから

答えて

0

は度で、ベアリングを取得します。

軸受は、このデバイスの移動の水平方向であり、 デバイスの向きには関係しません。装置は、ベアリングを有する場合には 範囲(0.0、360.0]であることが保証される。

この位置は、ベアリングを持っていない場合は、0.0を戻される。

getBearing()戻る0.0ため場所は関係ありませんならば、あなたはそれを無視saflyでき

+0

ありがとう - 。私はhasBearingは偽陽性を返すにハングアップして、私はgetBearingドキュメントを読んでいない... docに除外さ0.0も私の問題を解決それがなぜhasBearingが壊れて見えるのかについて私の質問に答えることができなければ。 – Crag

関連する問題