You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sonim XP9900(Android12)下Spcc API权限未授权SecurityException求助

Android应用在Sonim XP9900(Android 12)上的SPCC权限崩溃排查

问题描述

我有一款上架Google Play的小型安卓应用,仅在**Sonim XP9900(Android 12/API 31)**设备上出现崩溃,错误日志显示SPCC API权限未授予。已知Sonim设备自带Scout应用,通过SPCC服务监控设备内所有应用,但未找到SPCC API权限的明确文档。

已尝试授予蓝牙、位置等额外权限,问题仍存在;联系Sonim支持团队暂未收到回复。

错误日志

stackTrace: java.lang.SecurityException: Spcc API access permission is not granted for uid=10221 pkgName=com.xxx.xxx pkgList=[com.xxx.xxx]
    at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
    at android.os.Parcel.createException(Parcel.java:2410)
    at android.os.Parcel.readException(Parcel.java:2393)
    at android.os.Parcel.readException(Parcel.java:2335)
    at android.view.IWindowSession$Stub$Proxy.remove(IWindowSession.java:1439)
    at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:5007)
    at android.view.ViewRootImpl.doDie(ViewRootImpl.java:8153)
    at android.view.ViewRootImpl.die(ViewRootImpl.java:8130)
    at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:499)
    at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:440)
    at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:164)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:5476)
    at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5751)
    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5667)
    at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71)
    at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ClientTransactionHandler.executeTransaction(ClientTransactionHandler.java:61)
    at android.app.ActivityThread.handleRelaunchActivityLocally(ActivityThread.java:5734)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2224)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7916)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:577)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)
Caused by: android.os.RemoteException: Remote stack trace:
    at com.sonim.spccplatformjar.utils.Utils.checkAccessPermission(Utils.java:22)
    at com.sonim.spccplatformjar.settings.SPCCFrameworkAPI.startWindowRPSNotify(SPCCFrameworkAPI.java:669)
    at com.android.server.wm.ActivityRecord.onWindowsVisible(ActivityRecord.java:6005)
    at com.android.server.wm.ActivityRecord.updateReportedVisibilityLocked(ActivityRecord.java:6101)
    at com.android.server.wm.WindowStateAnimator.onAnimationFinished(WindowStateAnimator.java:218)

排查方向

  • 检查Sonim设备专属配置:打开设备自带的Scout应用,查看是否有应用信任/白名单设置,尝试将你的应用添加到允许列表中,部分Sonim设备的SPCC服务会限制未被信任的应用。
  • 异常兜底处理:在Activity重启相关流程(如onDestroy、recreate()调用处)添加try-catch块,捕获SecurityException,避免崩溃导致应用退出。因为该异常是厂商SPCC服务触发,应用本身无法直接获取对应权限,只能做容错处理。
  • 规避触发场景:崩溃发生在Activity重启环节,梳理应用中触发Activity重启的操作(如屏幕旋转、配置变更、手动调用recreate()),尝试通过调整配置(如在Manifest中声明android:configChanges避免系统重启Activity)来减少该场景的出现。
  • 查找厂商隐藏权限:再次查阅Sonim官方开发者资源,搜索SPCC、Scout相关的权限文档,可能需要在Manifest中声明Sonim自定义的权限(如com.sonim.spcc.permission.ACCESS_SPCC_API这类格式)。
  • 系统补丁验证:确认设备是否有Android 12的系统更新,尝试升级到最新系统版本,排查是否是厂商系统层面的权限校验bug导致。
  • 复现场景分析:在Sonim XP9900设备上复现Activity重启的具体场景,观察Scout应用的实时监控日志或提示,是否有相关权限拦截的信息可以参考。

内容的提问来源于stack exchange,提问作者SRKS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 22:53:16