小编Jes*_*ral的帖子

fusedLocationProviderClient.lastLocation.addOnSuccessListener始终为null

我刚刚更新了我的Location API以使用FusedLocationProviderClient,但是我遇到了这个问题,当我关闭并在GPS上时,我总是得到null位置:

val fusedLocationProviderClient =
                        LocationServices.getFusedLocationProviderClient(callingActivity)
            fusedLocationProviderClient.flushLocations()
            getLocationRequest()

            checkLocationSettings(callingActivity, turnOnGpsRequestCode, callback) {
                // Location settings successful
                fusedLocationProviderClient.lastLocation
                        .addOnSuccessListener(callingActivity) {
                            location ->
                            // Here location is always null
callback.onCallback(MenumyRadar.RadarStatus.SUCCESS, location)
                        }
                        .addOnFailureListener {
                            callback.onCallback(MenumyRadar.RadarStatus.ERROR_UNKNOWN, null)
                        }
            }
Run Code Online (Sandbox Code Playgroud)

直到我打开另一个使用位置的应用程序,如谷歌地图或优步,它才能工作.

我有一些线索感谢这个答案 FusedLocationApi.getLastLocation总是为null

谷歌的解释:

fusedLocationClient.lastLocation .addOnSuccessListener {location:Location? - > //找到最后一个位置.在某些罕见情况下,这可能为空.}

getLastLocation()方法返回一个Task,您可以使用该Task获取具有地理位置的纬度和经度坐标的Location对象.在以下情况下,location对象可能为null:

设备设置中的位置已关闭.即使先前检索过最后一个位置,结果也可能为null,因为禁用位置也会清除缓存.设备从未记录其位置,这可能是新设备或已恢复出厂设置的设备.设备上的Google Play服务已重新启动,并且在重新启动服务后,没有活动的融合位置提供程序客户端请求了位置.为避免这种情况,您可以创建一个新客户端并自行请求位置更新.有关更多信息,请参阅接收位置更新.

但它没有说明如何处理这个问题,我该怎么办?

android android-location

7
推荐指数
1
解决办法
3919
查看次数

带有参数的 Kotlin lambda 的 Mocktito ArgumentCaptor

我正在尝试在 Kotlin 上对此进行测试:

verify(myInterface).doSomething(argumentCaptor.capture())
capture.value.invoke(0L)
Run Code Online (Sandbox Code Playgroud)

doSomething 在哪里:

doSomething((Long) -> Unit)
Run Code Online (Sandbox Code Playgroud)

如何为此创建 ArgumentCaptor?现在我正在做这个

inline fun <reified T : Any> argumentCaptor() = ArgumentCaptor.forClass(T::class.java)!!
    val captor = argumentCaptor<(Long) -> Unit>()

    verify(mainApiInterface!!).downloadUserProfilePicture(captor.capture())
    captor.value.invoke(0L)
Run Code Online (Sandbox Code Playgroud)

但我得到 java.lang.IllegalStateException: captor.capture() must not be null

我也尝试集成 mockito-kotlin,但出现 PowerMockito 错误:

在 org.mockito.internal.MockitoCore 的类层次结构中找不到名为“reported”的实例字段。

lambda android function mockito kotlin

5
推荐指数
1
解决办法
4633
查看次数

如果所有范围都可以与 SingletonComponent 一起使用,为什么要在 Android Hilt 中使用不同的范围

要添加 Hilt 模块,您需要执行以下操作:

@Module
@InstallIn(SingletonComponent::class)
abstract class MyModule{
...
}
Run Code Online (Sandbox Code Playgroud)

有不同的范围,例如 ActivityComponent、ViewModelComponent 等,但我不清楚什么时候需要使用与 SingletonComponent 不同的范围,毕竟这涵盖了所有内容并且始终有效。这只是遵循封装的良好实践的问题吗?

android dagger-hilt

5
推荐指数
1
解决办法
915
查看次数

Docker 连接拒绝挂起 Django

当我运行我的容器时,它只是挂在下一行,如果我写

\n\n
\n

卷曲http://0.0.0.0:8000/

\n
\n\n

我明白了

\n\n
\n

无法连接到 0.0.0.0 端口 8000:连接拒绝

\n
\n\n

这是我的 dockerfile

\n\n
FROM python:3.6.1\n\n# Set the working directory to /app\nWORKDIR /app\n\n# Copy the current directory contents into the container at /app\nADD . /app\n\nRUN pip3 install -r requirements.txt\n\nCMD ["python3", "dockerizing/manage.py", "runserver", "0.0.0.0:8000"]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还尝试通过 docker-compose.yml 文件执行此操作,但再次没有任何反应,我\xc2\xb4ve 搜索了很多,并且 Haven\xc2\xb4t 找到了解决方案,这是 docker-compose.yml

\n\n
version: "3"\nservices:\n  web:\n    image: app1\n    deploy:\n      replicas: 5\n      resources:\n        limits:\n          cpus: "0.1"\n          memory: 50M\n      restart_policy:\n        condition: on-failure\n    ports:\n      - "8000:8000"\n    networks:\n      - webnet\nnetworks:\n …
Run Code Online (Sandbox Code Playgroud)

django docker dockerfile docker-compose docker-container

2
推荐指数
1
解决办法
4886
查看次数

在 EditText 上键入时防止 android 保存和检索密码

如何防止这种情况发生,多个用户将在同一设备上使用该应用程序,但我不希望他们所有人都可以访问某些地方

在此处输入图片说明

android android-edittext

2
推荐指数
2
解决办法
1672
查看次数

App bundle (.abb) 大小比APK (.apk) 大,不应该是相反的吗?

代码实际上是一样的,我只是添加了一个类,是不是因为当 Bundle 安装在设备中时,它的一部分将转到该设备并且它的大小会更小?

在此处输入图片说明

android

2
推荐指数
1
解决办法
2041
查看次数