我从手持设备向可穿戴设备发送通知,然后在没有文本的卡片上显示背景图像。我想优化圆形和方形可穿戴设备的图像,而不是创建独立的应用程序和可穿戴活动。
我该如何向可穿戴设备发送消息,询问它的大小以及它是圆形还是方形?我知道如何发送消息,我只是在寻找api来查看它是圆形还是方形。
从下面的示例中,你可以看到如何在活动中检测到这一点,但我希望在后台服务中检测到这一点,因为我不想创建一个独立的可穿戴应用程序。https://github.com/mauimauer/AndroidWearable-Samples/blob/8287982332b82cada7bf68a6c5aa88df1bbbcbbe/GridViewPager/Wearable/src/main/java/com/example/android/wearable/gridviewpager/MainActivity.java
我的另一个问题显示了如何检测是否存在可穿戴设备配对,但它只返回节点名称和节点id,没有关于实际可穿戴设备的其他有用信息。How to detect if android device is paired with android wear watch
发布于 2014-08-13 05:25:21
确定圆形与正方形的官方方法是使用WatchInsets类和isRound()方法。https://developer.android.com/reference/android/view/WindowInsets.html#isRound()
在Android SDK Manager for API20中包含了一个名为GridViewPager的示例,它展示了如何使用isRound()方法。
你剩下的问题..。您将需要实现一个在手表上运行的应用程序,该应用程序将为您执行此查询。然后你可以向手表发送一条消息,它会执行查询,然后向手机发回一条消息,无论你想做什么。
如果您查看DataLayer示例(也与GridViewPager位于同一位置),它将显示如何检测可穿戴设备与手机的连接状态。
发布于 2015-02-16 22:17:09
非官方的方式--但对我来说,这要容易得多。https://github.com/tajchert/ShapeWear
只需复制ShapeWear.java类,并订阅屏幕形状检测事件setOnShapeChangeListener()或调用方法ShapeWear.isRound() (可以抛出错误是形状尚未确定)或ShapeWear. getShape() -这可能会导致ShapeWear.SHAPE_UNSURE在相同的情况下。
发布于 2014-12-29 15:49:34
在扩展CanvasWatchFaceService.Engine的ur引擎类中重写此方法
@Override
public void onApplyWindowInsets(WindowInsets insets) {
super.onApplyWindowInsets(insets);
Log.d(TAG, "onApplyWindowInsets");
if (insets.isRound()) {
Log.d(TAG, "Round");
} else {
Log.d(TAG, "Square");
}
}https://stackoverflow.com/questions/25253215
复制相似问题