現在の場所を指す小さなアプリケーションを Android で作成しています。そのために GPS プロバイダーを使用しましたが、場所によっては GPS プロバイダーを使用してデータを取得できないことがわかりました。
これを手に入れるのを手伝ってくれる人はいますか?
現在の場所を指す小さなアプリケーションを Android で作成しています。そのために GPS プロバイダーを使用しましたが、場所によっては GPS プロバイダーを使用してデータを取得できないことがわかりました。
これを手に入れるのを手伝ってくれる人はいますか?
WIFI に接続している場合は、現在地の更新に NETWORK PROVIDER を使用するだけです。それらは高速で十分に正確でもあります。
通常、位置情報の更新がそれほど頻繁に必要とされない場合、位置情報の更新は GPS と NETWORK の両方から同時に要求されます。希望する精度の位置更新を取得するたびに、位置更新のリッスンから登録を解除します。
ただし、位置情報の更新が頻繁に必要な場合は、GPS の呼び出しもバッテリーを大量に消費する可能性があるため、GPS プロバイダーの使用には注意してください。
GPS アップデートは、空の下でのみ有効です。GPS の更新には時間がかかり、バッテリーも消費しますが、より正確です。
ネットワーク更新はより速く、バッテリーの消費が少なくなりますが、比較的精度が低くなります。しかし、WIFI の精度について話している場合、多くのリアルタイム要件を満たすことができるのは 50 または 100 に近くなります。
それはすべてあなたの要件に依存します。
デバイスがモバイルまたはwifi経由で接続されているかどうかを確認するには、次のコードを使用できます。
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
次に、このように使用します...
if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
//wifi
}
詳細については、リンクを参照してください