【问题标题】:OnLocationResult of fused Location api is only called once even when i have requested updates in given time interval in android即使我在android中的给定时间间隔内请求更新,融合位置api的OnLocationResult也只调用一次
【发布时间】:2018-10-08 12:12:28
【问题描述】:

我已经阅读了一些与此相关的问题和答案,但没有一个能够解决我的问题。请建议我该怎么做。我在我的 android 后台服务中使用这个融合的位置 api。我也提供了所有的牛轧糖/棉花糖检查。但是我只得到一次或第一次结果位置,之后,onLocation 结果没有被调用,是不是只有当我改变我的位置时才会被调用?请帮忙

这是我的简单 onCreate 服务:

 @Override
    public void onCreate() {
        super.onCreate();

        fusedLocationProviderClient= LocationServices.getFusedLocationProviderClient(this);
        locationRequest=new LocationRequest();
        locationRequest.setInterval(4000);
        locationRequest.setFastestInterval(4000);

        locationCallback=new LocationCallback(){
            @Override
            public void onLocationResult(LocationResult locationResult) {
                super.onLocationResult(locationResult);

                Log.i("serviceTag","onLocationResult called");
               }


            if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PERMISSION_GRANTED){

                fusedLocationProviderClient.requestLocationUpdates(locationRequest,locationCallback, Looper.myLooper());
            }



    }

【问题讨论】:

  • 您声称您阅读了一些相关的问答;你应该把它们联系起来,并说明为什么它们没有帮助。
  • 昨晚工作正常,正在更新,我只是不知道今天发生了什么。更新已停止。在其他问题中,答案与我的标准不符,例如 ppl 错过了一些变量或有人建议使用其他东西,我的简单点是,使用相同的融合 api 进行此更新有什么问题。编辑:我忘了在位置请求中添加 setpriotity。
  • @Maximus 你遇到了什么问题吗。

标签: java android google-api fusedlocationproviderapi android-fusedlocation


【解决方案1】:

FusedLocationProviderClient 仅在 Activity(不一定是请求或使用位置更新的活动)恢复或与 location foregroundServiceType 关联的前台服务启动时提供前台状态的位置更新。

从 Android 10 开始,框架开发人员很可能选择按类型对前台服务进行子分类,以确保并非所有具有通用前台服务(如媒体应用)的应用在后台运行时都可以免费访问位置。鉴于此,应用程序开发人员只需在清单中添加此“位置”类型以使无关的前台服务解决此限制是微不足道的。

https://medium.com/@debuggingisfun/android-foregroundservicetype-8857a36f36b9

【讨论】:

  • 谢谢。我试图解决这个问题好几个小时。就我而言,它是 ACCESS_FINE_LOCATION。但是我没想过要检查权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 1970-01-01
  • 2019-10-26
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多