Service と BroadcastReceiver を混同しています。私はロケーションベースのアプリに取り組んでいます。これでは、ユーザーの場所が大幅に変更されたときはいつでも(たとえば10メートル)、ユーザーの場所をデータベースに保存したいと考えています。
私は LocationListener を使用していますが、正常に動作しています。しかし、私のジレンマは次のとおりです。 onLocationChanged() メソッドをどこに書くか - BroadcastReceiver の onReceive() メソッドまたはサービスで?
Service を使用している場合、 Service のどのメソッドで、以下のコードを記述しますか?
これが私のロケーションリスナーです:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
if(location != null){
//Code to populate location-data into the database table.
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5, 10, locationListener);
誰かがそれを実装するためのより良い方法を教えてもらえますか? Service と BroadcastReceiver の両方に関する Android Developer Docs をすべて読みましたが、まだそれらの使用法を区別できませんか?