2

デバイスの GPS がオンになっていて、場所が変更されたときを知りたいです。

これが私がやったことです:

LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

public class MyLocationListener implements LocationListener
{
    @Override
    public void onLocationChanged(Location loc)
    {   
        Toast.makeText( getApplicationContext(),"onlocation changed",Toast.LENGTH_SHORT).show();
    }


    @Override
    public void onProviderDisabled(String provider)
    {
        Toast.makeText( getApplicationContext(),"providerdisabled",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onProviderEnabled(String provider)
    {
        Toast.makeText( getApplicationContext(),"provideenabled",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras)
    {

    }
}

アプリがフォアグラウンドで実行されているときは正常に動作していますが、閉じると更新が行われなくなります。アプリケーションがアンインストールされるまで、この情報を継続的に取得する方法を知りたいです。

4

1 に答える 1

0

これをサービスに入れて、スティッキーサービスを開始する必要があります。

また、GooglePlayServices を使用して FusedLocationManager を使用することを検討する必要があります。

GooglePlayServices と場所の詳細については、こちらをお読みください

于 2013-07-11T10:31:15.267 に答える