所以表盘是没有任何活动但只有服务的 Android Wear 应用程序。它是可见的和交互式的,但它是一种服务。如果应用想要访问位置或设置等任何内容,则需要在代码中请求相应的权限。尽管所有教程都这么说,但将其添加到清单文件中是无效的。也许它们过时的速度比 Android 上的变化要快。
有ContextCompat.checkSelfPermission
检查应用是否有一定权限的功能。这可以在我做任何事情之前调用。但是,如果它说我没有该权限,则必须提出请求。
有ActivityCompat.requestPermissions
通过对话框视图向用户请求权限的功能。不幸的是,这需要一个表盘没有的活动。
我已经看到有关此问题的另一个问题,但它没有有用的答案。答案包括外部库(我已经尝试过这两个库,但它们都不起作用),Java 中的代码示例也失败了,因为它扩展AppCompatActivity
自我的 Android Studio 版本中不存在,否则没有代码。
网络没有为此提供任何解决方案,我找不到任何其他网络论坛,我可以在其中提出今天仍然活跃的此类问题。
我的应用程序是用 Kotlin 编写的,据说这是一种比 Java 更优越、更舒适的语言。我对这一切都很陌生,无法轻松地将 Java 示例转换为 Kotlin。除此之外,我根本找不到任何合适的代码示例。
我的理解是我需要打开一个可以请求许可的活动。不幸的是,Android 开发人员文档不是我以前从 Microsoft 获得的文档,并且不包括为 Wear 应用程序创建活动。而且它通常不提供任何示例来说明必须如何调用此方法。这些是文档中最有用的部分,而 Android 没有。所以我现在很困惑。Android 想要我做一些我不知道怎么可能的事情。
那怎么可能呢?我需要什么 Kotlin 代码来解决这个基本平台问题并从表盘服务请求权限?