gpt4 book ai didi

android - 如何只允许我的伴侣 watch 应用程序连接到手持设备上的可穿戴监听器服务?

转载 作者:搜寻专家 更新时间:2023-11-01 09:39:49 24 4
gpt4 key购买 nike

我想确保我的手持设备上运行的 WearableListenerService 只能由我的配套应用程序访问。我认为创建自定义权限是可行的方法,但是我遇到了这种方法的问题,无法让可穿戴设备成功绑定(bind)到手持设备,我的手持设备会出现以下异常;

Permission Denial: Accessing service ComponentInfo{com.mypackage.android/com.mypackage.android.androidwear.service.WearListenerService} from pid=4868, uid=10014 requires com.mypackage.android.WATCHAPP
WearableService: bind: Permission denied connecting to ServiceRecord[com.mypackage.android.androidwear.service.WearListenerService, events=1, bound=false, [Event[79380002: onMessageReceived, event=requestId=16741, action=/start-activity, dataSize=26, source=31c5457d]]]
java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.gms.wearable.BIND_LISTENER cmp=com.mypackage.android/.androidwear.service.WearListenerService }
at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1437)
at android.app.ContextImpl.bindService(ContextImpl.java:1395)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at android.content.ContextWrapper.bindService(ContextWrapper.java:632)
at aeim.a(:com.google.android.gms:6693)
at aeim.a(:com.google.android.gms:1378)
at aeim.handleMessage(:com.google.android.gms:1295)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.os.HandlerThread.run(HandlerThread.java:61)

我已经尝试以多种方式定义自定义权限,最初仅在手持设备 list 中,然后在两个 list 中,以及尝试不同的保护级别,正常、签名、signatureOrSystem。我什至通过运行 dumpsys 命令验证权限已成功授予我的可穿戴设备;

declared permissions:
com.mypackage.android.WATCHAPP: prot=normal, INSTALLED
requested permissions:
android.permission.WAKE_LOCK
com.mypackage.android.WATCHAPP
install permissions:
com.mypackage.android.WATCHAPP: granted=true
android.permission.WAKE_LOCK: granted=true

我已将数据过滤器应用到我的服务,但我想强制只有我的应用程序可以启动我的服务,并且过滤器方法似乎不够。

最佳答案

您的 watch 应用和手持应用永远不会直接彼此交谈。所有数据层 API 都通过 Google Play 服务(异常(exception)的 com.google.android.gms 行)- 首先是在 Wear 端,然后是手持端。

鉴于此,无法添加自定义权限来保护数据层上的通信(因为 Google Play 服务应用永远不会添加您的自定义权限)。

关于android - 如何只允许我的伴侣 watch 应用程序连接到手持设备上的可穿戴监听器服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494413/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com