我有一个 http 响应,其主体是 ByteReadChannel。我知道内容是 JSON 对象数组。我需要通过 JSON 对象的属性来过滤该响应主体。由于数组...
我有一个 http 响应,其主体是 ByteReadChannel
。我知道内容是一个 JSON
对象数组。我需要根据对象的属性过滤该响应主体 JSON
。由于该数组可能包含至少数千个对象,因此我希望避免将整个内容读入内存,应用我的过滤器并将结果发送到客户端。
我怎样才能将其转换 ByteReadChannel
为,比如说, Flow<MyJsonObject>
流上的过滤器? Flow
这只是一个例子,也许有更好的类可以使用......
附言:我用 Ktor
.
我正在使用前台服务类型作为位置来通过服务获取位置。它将每 2 分钟获取一次。服务启动和停止,2 分钟后它将再次启动和停止......
我正在使用前台服务类型作为位置来通过服务获取位置。它将每 2 分钟获取一次。服务启动和停止,2 分钟后它将再次启动和停止,并在后台和前台继续运行。
现在,我已经在开始之前给出了所有许可,
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
因此现在应用程序在后台并且 GPS 位置已关闭,下次启动前台服务位置更新时就会崩溃。
Fatal Exception: java.lang.RuntimeException
Unable to create service com.lystloc.utils.services.tracking.LocationUpdateService: java.lang.SecurityException: Starting FGS with type location callerApp=ProcessRecord{c137f46 23529:com.lystloc/u0a332} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_LOCATION] any of the permissions allOf=false [android.permission.ACCESS_COARSE_LOCATION, android.permission.ACCESS_FINE_LOCATION] and the app must be in the eligible state/exemptions to access the foreground only permission
提前致谢