Android Wear(5.0)与Android Marshmallow的权限模型

时间:2015-10-09 05:46:54

标签: android permissions geolocation wear-os android-6.0-marshmallow

我正在为现有的手机应用程序构建Wear应用程序。

我们计划定位API 23并修改手机应用的位置权限以使用Android新运行时权限模型(https://developer.android.com/training/permissions/index.html

我试图弄清楚运行Android 5.0的可穿戴设备在我们这样做后会如何运作。从我从[{3}}:

询问可穿戴设备的位置时我学到的东西
  • 可穿戴设备可能有也可能没有GPS收音机。对于没有收音机的可穿戴设备,位置数据来自系留设备。

  • 我们无需担心位置数据的来源 - FusedLocationProvider(作为Google Play服务的一部分)在幕后为您处理此问题。

  • 我们负责处理可穿戴设备没有GPS硬件的边缘情况(可以通过hasSystemFeature()检查)以及是否中断了绑定(可以通过WearableListenerService检测)。这种情况的一个例子是用户在没有电话的情况下进行跑步。在这种情况下,我们应该优雅地降低功能。

令我感到困惑的是,当我们迁移到新的Marshmallow权限模型时,这将如何工作。

如果硬件具有板载GPS,Android Wear不会受到影响,因为没有磨损设备运行Android 6.0并且适用旧的权限模型。如果没有GPS硬件的磨损设备系在运行Android 6.0的设备上,就会出现问题。在这种情况下,如果磨损设备请求该位置,它将被传递到手机并且用户没有被要求许可/或已经禁用了许可,这将如何工作?

我想象一下需要解决这个问题:

  • 在可穿戴应用程序启动时,首先检查硬件是否具有GPS无线电
  • 如果不是,请向手机发送消息,询问是否拥有请求位置的权限(使用数据同步API)
  • 如果答案回复为false,则在可穿戴设备上向用户显示一条消息,并询问他们是否要在手机上解决此问题。
  • 如果用户回答“是”,请将消息推送到手机,以显示仅提示获得许可的活动。

有更好的方法吗?

0 个答案:

没有答案