1***@139.com
1***@139.com
  • 发布:2024-09-20 21:41
  • 更新:2024-09-23 15:56
  • 阅读:73

【报Bug】前台服务启动后,前台服务里面调用定位服务或者获取授权信息的时候报空指针错误

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10 专业版22H2 19045.4780

HBuilderX类型: Alpha

HBuilderX版本号: 4.27

手机系统: Android

手机系统版本号: Android 12

手机厂商: 荣耀

手机机型: X40I

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

手机APP启动后,可以实现定位数据获取,也能启动前台服务,当手机退出APP的时候,即APP exit的时候,

预期结果:

预期结果是前台服务继续运行,定位功能正常。

实际结果:

实际上是定位功能代码上报空指针。

bug描述:

项目中使用插件 hr-keep-alive,启动前台服务,在启用前台服务的时候设置定时器,定时器内部调用uni.getlocation和uni.getAppAuthorizeSetting(),当手机上APP退出的时候,目前这俩函数都报错空指针。
如下:
21:24:49.694 java.lang.NullPointerException
at uts.sdk.modules.DCloudUniGetAppAuthorizeSetting.IndexKt$getAppAuthorizeSetting$1.invoke(index.kt:39)
at uts.sdk.modules.DCloudUniGetAppAuthorizeSetting.IndexKt$getAppAuthorizeSetting$1.invoke(index.kt:38)
at uts.sdk.modules.hrKeepAlive.IndexKt.getLocationTap(index.kt:218)
at uts.sdk.modules.hrKeepAlive.ForegroundCoreService$onStartCommand$1.invoke(index.kt:78)
at uts.sdk.modules.hrKeepAlive.ForegroundCoreService$onStartCommand$1.invoke(index.kt:77)
at io.dcloud.uts.UTSTimerKt$setInterval$runnableTask$1.invoke(UTSTimer.kt:158)
at io.dcloud.uts.UTSTimerKt$setInterval$runnableTask$1.invoke(UTSTimer.kt:157)
at io.dcloud.uts.UTSTimerKt.setInterval$lambda$3$lambda$2(UTSTimer.kt:164)
at io.dcloud.uts.UTSTimerKt.$r8$lambda$zCuqnEKvpL7ghhy53_Az9Spia6k(Unknown Source:0)
at io.dcloud.uts.UTSTimerKt$$ExternalSyntheticLambda3.run(Unknown Source:2)
at android.os.Handler.handleCallback(Handler.java:955)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:206)
at android.os.Looper.loop(Looper.java:296)
at android.app.ActivityThread.main(ActivityThread.java:9024)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:976)

2024-09-20 21:41 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

你好,看到你提到了插件 hr-keep-alive 请不要将这个问题按照Bug提交。你可以尝试在插件市场评论,这样作者可以看到。

要回复问题请先登录注册