デバイスのgeoloc(緯度/経度)でロケーションオブジェクトを作成してロードした後、固定ランドマークの距離を表示するデータアダプタにバインドされたListViewがあります。問題は、平均して、以下のコードがロードするのに3〜7秒かかります。長いプロセスでは、「requestLocationUpdates()」という呼び出しがあります。NETWORK_SERVICEがなく、GPS_SERVICEがプライマリになると、アクティビティリストブランクActivityManagerのOnCreate()でlocationManager.requestLocationUpdates()を呼び出す必要がありますか?
OnCreate()アクティビティメソッドは、requestLocationUpdates()が呼び出されるのに最適な場所ですか?
locationManager =(LocationManager)getSystemService(Context.LOCATION_SERVICE); locationListener = new GeoLocationListener();
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setSpeedRequired(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider,
0, //300000, // TODO: Default to Check Every 5 Minutes OR
0, //500, // TODO: Default to Check if device moves more than 500 meters
locationListener);
あなたは正しいが..私は助けを保留この記事に走った:「あなたは、すべての利用可能な位置プロバイダを気にしますが、単に最良のものが利用可能に取得したくない場合がありますこれを行うために、我々はを指定します。たとえば、高度とベアリング、費用などが必要ですか? 現在、特定のプロバイダの最新の場所をロケーションマネージャに問い合わせることができます。最後の場所は、更新が来るのを待っている。 http://marakana.com/forums/android/examples/42.html – CampbellGolf