我已经开发了一个裁判手表(https://play.google.com/store/apps/details?id=com.pipperpublishing.soccerrefpro),该手表使用手表GPS来跟踪裁判的视野和其他健身状况。这不是关于我正在处理的ACCESS_FINE_LOCATION权限的问题。
我了解我可以使用getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS
确定手表是否具有GPS。但是,如果用户不小心关闭了手表上的“设置”>“位置”,是否可以检测到它?我怀疑手表会为上述通话报告TRUE,但随后尝试使用融合的位置提供程序从电话wifi / gps / cell传递位置。当然,当您带着手提袋在野外跑步时,这毫无用处。
我尝试查看健身传感器的来源并确定来源是否为本地,但这似乎不起作用。
最佳答案
如果您已经使用hasSystemFeature()
方法确定了Android Wear设备是否具有内置GPS传感器,则可以继续进行handling disconnection events。
您可能需要实现onPeerDisconnected()
方法,以便您的应用程序能够处理位置数据丢失的情况,以防磨损设备与其配对设备失去连接。
另外,请检查此SO post,以获得有关如何触发系统UI以获得启用位置对话框的权限的其他见解。