【问题标题】:Tracking location in the background在后台跟踪位置
【发布时间】:2020-03-03 15:04:29
【问题描述】:

我想在android中实现位置跟踪,但是时间间隔很小(秒),在搜索和阅读文档后我发现应用程序在后台时位置访问存在限制,解决方案是使用前台服务,但我需要另一种合法有效的解决方案,而无需向用户显示通知。

【问题讨论】:

  • 您可以使用工作管理器,前提是您只能以 15 分钟的间隔跟踪用户。
  • @NikosHidalgo 感谢您的建议,但我需要至少每分钟更新一次位置

标签: android background location tracking


【解决方案1】:

你可以使用类似的东西

public class GPSService extends Service {

private LocationListener listener;
private LocationManager locationManager;

public IBinder onBind(Intent intent){
    return null;
}

@SuppressLint("MissingPermission")
@Override
public void onCreate() {
    super.onCreate();
    listener = new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            Intent i = new Intent("location_update");
            i.putExtra("coordinates",location);
            sendBroadcast(i);

        }

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

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

            Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(i);
        }
    };
    locationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000,0,listener);
}

@Override
public void onDestroy() {
    super.onDestroy();
    if (locationManager != null){
        locationManager.removeUpdates(listener);
    }
}
}

并由广播公司检索

【讨论】:

  • 感谢您的帮助,但我从 android 8 中了解到,后台服务特别是位置更新存在限制。并且我的应用需要每分钟都有准确的位置更新,即使它当前没有运行
  • @wageeh 根据您对所需行为的描述,您似乎将不得不依赖具有永久通知的前台服务。
  • @NikosHidalgo 是的先生,这是我的搜索结论,但我正在寻找另一种解决方案,我不必让我的应用程序具有永久通知.. 但即使是文档也建议了这个解决方案。跨度>
  • @wageeh 我知道,我只是建议根据您的要求没有其他选择。
猜你喜欢
  • 1970-01-01
  • 2015-12-21
  • 2013-05-16
  • 1970-01-01
  • 2017-04-13
  • 2013-07-02
  • 2017-11-24
  • 2020-08-04
  • 2021-10-05
相关资源
最近更新 更多