0

ロケーション API に問題があります。一部のデバイスでは、携帯電話を再起動すると問題が解決しますが、どのプロバイダーでも場所が表示されないことがあります。一方、場所を取得していない場合、Google マップは問題なく即座にマップに配置します。

コードは次のとおりです。

    Intent intent = new Intent(Constants.LOCATION_BROADCAST);
    pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, intent, 0);
    Criteria criteria = new Criteria();
    criteria.setPowerRequirement(Criteria.POWER_HIGH);
    if(android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.FROYO){
        criteria.setAccuracy(Criteria.ACCURACY_LOW);
        locationManager.requestSingleUpdate(locationManager.getBestProvider(criteria, true), pendingIntent);
    }
    else {
        criteria.setAccuracy(Criteria.ACCURACY_COARSE);
        locationManager.requestLocationUpdates(locationManager.getBestProvider(criteria, true), 0, 0, pendingIntent);
    }

何かご意見は?

4

1 に答える 1

0

すべての位置情報プロバイダーを使用してみて、問題が解決するかどうかを確認してください。

LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
List<String> allproviders = lm.getAllProviders();
for(String provider : allproviders) {
    myLocationManager.requestLocationUpdates(provider, 5000, 0, this);
}

このコードが常に機能する場合は、コードが見つけたプロバイダーをコードが無視している理由を突き止める必要があります。あなたの力や正確さの基準と関係があるかもしれません.

于 2013-04-03T18:20:13.477 に答える