Android Wear通知页面可以滚动吗?

时间:2015-01-29 01:03:48

标签: wear-os android-wear-notification

我们有适用于Android Wear的短信应用(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监听器,但他们仍然没有收到所有的触摸事件。

任何帮助将不胜感激。如果我们能减少所需的水龙头和滑动次数,它会使我们的应用程序更好。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

我遇到了同样的问题。

setCustomContentHeight的限制令人沮丧。我无法找到解决方法。

同样,似乎没有一种好的方法来规避全屏通知对点击收听者施加的限制。

我的解决方案是在通知的第一页添加操作,根据Activity启动GridViewPager。在那里,限制已经消失,但它仍然大部分看起来像一个通知。主要区别在于:(1)您必须“点击”第一张通知卡,而不是轻扫它,(2)向上和向下滑动不会自动转到下一个/上一个通知。