2

我们有一个适用于 Android Wear 的 SMS 应用程序(https://play.google.com/store/apps/details?id=com.awear.coffee

现在我们使用常规通知操作,当您选择回复时,它会在手表上启动我们的活动。我想用一个包含几个按钮和一个字符串列表的自定义活动的通知页面替换回复操作。

我尝试了两种方法。

创建一个包含内容的大型通知页面

这不起作用,因为 Notification.WearableExtender.setCustomContentHeight 有一个隐藏的最大值,所以内容被剪裁了。我认为它与使用 setCustomSizePreset(SIZE_LARGE) 的高度相同。我已经验证,如果我使用带有大量文本的默认通知,它可能会比这更大,但如果你使用自定义显示意图,它会被剪裁。

使用全屏通知页面并向其添加滚动视图

这不起作用,因为输入以某种方式被阻止。每当您滚动活动时,都会按顺序接收 Action.DOWN、Action.MOVE、Action.CANCEL,因此无论拖动多长时间,您都只会得到一个 Action.MOVE。我猜这是因为操作系统想要控制左/右滑动。

关于如何解决这个问题的任何想法?我尝试设置自定义 onTouch 侦听器,但它们仍然从未收到所有触摸事件。

任何帮助,将不胜感激。如果我们可以减少所需的点击和滑动次数,这将使我们的应用程序变得更好。

雅各布

4

2 回答 2

0

I ran into the same problems.

The limit on setCustomContentHeight is frustrating. I couldn't find a way around it.

Likewise, there doesn't seem to be a good way to circumvent the limitations imposed on tap-listeners with the fullscreen notification.

My solution was to add an Action to the first page of the notification that launches an Activity based on the GridViewPager. Once there, the limitations are gone, but it still mostly looks like a Notification. With the principal differences being, (1) you have to 'tap' the first Notification card, rather than swipe it, and (2) swiping up and down don't automatically go to the next/previous notifications.

于 2015-03-04T00:56:06.933 回答
0

如果您使用桥接通知(没有磨损模块)您可以通过将“大视图”样式之一(InboxStyle,BigTextStyle)添加到通知中来将扩展文本内容插入通知。在手持设备上,用户可以通过展开通知来查看大视图内容。在可穿戴设备上,默认情况下大视图内容是可见的。

BigTextStyle bigStyle = new NotificationCompat.BigTextStyle();
bigStyle.bigText(someBigText);

NotificationCompat.Builder notificationBuilder =
    new NotificationCompat.Builder(this)
    .setSmallIcon(R.drawable.ic_small)
    .setContentTitle(title)
    .setContentText(contentText)
    .setContentIntent(viewPendingIntent)
    .addAction(R.drawable.ic_map,
            getString(R.string.somestring), mapPendingIntent)
    .setStyle(bigStyle);
于 2015-02-03T10:39:57.220 回答