gpt4 book ai didi

android - WearableListenerService 的权限

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:45:43 26 4
gpt4 key购买 nike

我已经实现了 WearableListenerService在我的主应用程序和配套的 Wear 应用程序中。在 list 中,该服务需要声明为 android:exported="true"(或者根本不声明并保留默认为 true),因为它是由 Google 启动的播放服务。系统上的任何应用程序都可以调用没有权限的导出服务,但我找不到正确的权限来添加到服务声明中以保护它。我查看了手机和 Wear 设备上的权限,并使用 pm list permissions 但我没有看到任何看起来像我需要的东西。

  1. 是否有我可以/应该添加的权限来保护我的服务?
  2. 如果不是,是否可以通过检查调用者的包名称手动保护服务?

最佳答案

了解如何在 Android Wear 上实现 WearableListenerService 的最佳方法是查看 SDK 提供的现有示例之一。如果您查看 $SDK/samples/android-20/wearable/DataLayer 中包含的 DataLayer 示例,它可以完整实现您想要执行的操作。

如果查看可穿戴端的 AndroidManifest.xml,您可以看到它具有以下内容:

    <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

<service
android:name=".DataLayerListenerService" >
<intent-filter>
<action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
</intent-filter>
</service>

出于您的安全考虑...当我们在 list 中声明服务并为其添加过滤器时,它会自动成为导出服务。所以一般来说,其他应用程序可以绑定(bind)到该服务。在 WearableListenerService 的情况下,框架中会进行安全检查,以确保绑定(bind)到它的代理是 Google Play 服务,因此没有其他人可以真正绑定(bind)到该服务,除非应用程序开发人员在这种情况下公开其他 Intent 过滤器目的是让其他人访问它。

因此,如果您以与 Wear SDK 示例相同的方式实现您的代码,您的应用应该是安全的,您无需担心任何额外权限等问题。

关于android - WearableListenerService 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24914161/

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