0

私のアプリケーションでは、現在の Lcoation を 30 分ごとに表示する必要があります。これを実装するには、Timer を使用して 30 分ごとにトリガーします。

HTC Wildfire S、Sony Xperia V などの一部の Android デバイスでは正常に動作しています...しかし、Samsung S Duos および HTC One X では動作していません...GPS を要求すると、現在の場所の値として NULL が返されるためです。そのデバイスが私のアプリケーションをサポートしていない理由は誰でもプロを助けることができます.

4

1 に答える 1

0

次のようにプロバイダーの可用性を確認する必要があります。

List<String> providers = locationManager.getProviders(true);

次に、利用可能なセンサーのリッスンを開始します。

if (providers.contains(LocationManager.GPS_PROVIDER))
{
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,...);
}

必要なセンサーが利用できない場合は、ユーザーにダイアログをポップアップして、GPS を有効にするか、必要なものを求める必要があります。

また、お勧めがあります。位置情報更新のリクエストを で開始しないでください。位置情報更新を希望する最小の時間と距離までTimer渡す必要があります。requestLocationUpdates()

于 2013-01-29T11:40:01.107 に答える