Lan*_*don 5 android android-notifications wear-os
我正在创建一个从可穿戴设备发出的通知,只在可穿戴设备上发出,而不是在手机上.我希望它有两个动作按钮(还没有功能)和第三个动作,当点击通知本身时.我正在尝试使用setContentAction()使最后一个操作成为单击通知时的操作,但它仍然显示为单独的操作按钮(根据此处的文档,它不应显示单独的按钮).然而,这个不需要的按钮激发了所需的意图.通知本身不响应点击.以下是创建通知的代码:
Intent pictureIntent = new Intent(this, PictureActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 254, pictureIntent, PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.medicinepillmd)
.setContentTitle(dose[0])
.setContentText(dose[3])
.extend(new NotificationCompat.WearableExtender()
.setContentIcon(R.drawable.thumbnail)
.setBackground(BitmapFactory.decodeResource(getResources(), R.drawable.orangegirl))
.addAction(new NotificationCompat.Action.Builder(R.drawable.medicinepillmd, "Taken", null).build())
.addAction(new NotificationCompat.Action.Builder(R.drawable.thumbnail, "Skipped", null).build())
.addAction(new NotificationCompat.Action.Builder(0, null, pendingIntent).build())
.setContentAction(2));
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么这可能不符合预期的行为?任何输入赞赏.谢谢
Mac*_*ęga 11
setContentAction(int index)允许您指定将"合并"到卡中的操作.它会从"操作页面"中删除此操作,它只会出现在您的主卡上.但问题的原因是您没有为您指定图标资源Action
.没有图标,它无法合并到主卡.
您需要指定一些图标并将其添加到您的操作中:
.addAction(new NotificationCompat.Action.Builder(R.drawable.some_icon, null, pendingIntent).build())
Run Code Online (Sandbox Code Playgroud)
如果你真的不想要任何图标,你可以使用带有空图标的"hack":
empty_icon.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
</shape>
Run Code Online (Sandbox Code Playgroud)
注意:setContentIntent(PendingIntent intent)
不会使您的卡可以点击.它只会使用标签创建并添加另一个动作(最右边):"打开".
归档时间: |
|
查看次数: |
1323 次 |
最近记录: |