Android FusedLocationProviderClient.requestLocationUpdates() 返回相同的位置坐标

Posted

技术标签:

【中文标题】Android FusedLocationProviderClient.requestLocationUpdates() 返回相同的位置坐标【英文标题】:Android FusedLocationProviderClient.requestLocationUpdates() returning same location coordinates 【发布时间】:2020-08-01 23:30:10 【问题描述】:

我在 SO 上发现了两种类似的问题,但都没有答案。

我正在使用FusedLocationProviderClient 来获取我设备的位置。我已经使用requestLocationUpdates() 使用后台服务获取位置。

即使应用程序在前台,方法返回的纬度和经度也不会改变。

这是我如何使用该类的 sn-p:

private FusedLocationProviderClient fusedLocationClient
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
fusedLocationClient.requestLocationUpdates(new LocationRequest(), locationCallback, Looper.getMainLooper());

locationCallback 只是一种在控制台上打印经度和纬度的方法。

已授予所有权限,我正在检查清单中的权限。这是我添加的权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:name=".App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:usesCleartextTraffic="true"
    android:theme="@style/AppTheme">
    <activity android:name=".HomeActivity"></activity>
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name=".LocationService" />
</application>

LocationService 是我试图获取位置的服务。

有人知道问题出在哪里吗?我已经被困了好几个小时了!

【问题讨论】:

【参考方案1】:

如果您想进行更改,您应该收听位置更新。

https://developer.android.com/training/location/request-updates

或者,如果没有应用请求位置更新,它将一直返回相同的最后一个已知位置。

【讨论】:

以上是关于Android FusedLocationProviderClient.requestLocationUpdates() 返回相同的位置坐标的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录