gpt4 book ai didi

Android 群组通知添加摘要通知后不报警(Android 6.0)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:54 24 4
gpt4 key购买 nike

我正在尝试让本地通知像环聊一样工作。我希望每次收到新短信时都会出现提示通知。但是当有两个或多个未读通知时,我想在 Android 通知栏中显示一个摘要通知。似乎通过组堆叠通知并添加组摘要应该按照描述的方式工作 here .下面的代码似乎适用于 Android 5.0 和 5.1,但在 Android 6.0 上,当存在该组的摘要通知时,本地通知不会在抬头 View 中发出警报/显示。因此仅显示初始通知。

public class MainActivity extends AppCompatActivity {

private Button _button = null;
final static String GROUP_KEY_EMAILS = "group_key_emails";
private int messageNum = 1;

private void CreateNotification() {
// Build the notification, setting the group appropriately
Notification headsUpNotification = new NotificationCompat.Builder(this)
.setContentTitle("Title")
.setContentText("New Message" + messageNum)
.setSmallIcon(R.drawable.pngreceivedtextmessage)
.setGroup(GROUP_KEY_EMAILS)
.setPriority(Notification.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_ALL)
.build();

// Issue the notification
NotificationManagerCompat notificationManager =
NotificationManagerCompat.from(this);
notificationManager.notify(messageNum, headsUpNotification);

Bitmap largeIcon = BitmapFactory.decodeResource(getResources(),
R.drawable.pngreceivedmessageicon);

if(messageNum > 1) {
// Create a summary notification since we have more than 1
Notification summaryNotification = new NotificationCompat.Builder(this)
.setContentTitle("Summary")
.setNumber(messageNum)
.setSmallIcon(R.drawable.pngreceivedtextmessage)
.setLargeIcon(largeIcon)
.setGroup(GROUP_KEY_EMAILS)
.setGroupSummary(true)
.build();

notificationManager.notify(0, summaryNotification);
}

messageNum++;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

_button = (Button) findViewById(R.id.button);
_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CreateNotification();
}
});
}

我的目标是 SDK 23 并尝试了许多不同的组合,但没有任何效果。有谁知道如何生成摘要通知并仍然让提醒通知正常工作?

最佳答案

在 Android 6.0 中,通知/摘要通知的显示方式略有变化。如果您不断重复发送大量通知,如果连续通知之间的持续时间非常短,通知系统将不会显示提示。

为了确认这一点,首先将此代码添加到该 if 语句内的第二个通知构建器中(您的代码中缺少此代码是为了将其显示为高优先级并带有警报):

.setPriority(Notification.PRIORITY_HIGH)
.setDefaults(Notification.DEFAULT_ALL)

然后每隔几秒测试一次发出通知(让之前的单挑通知消失然后等待几秒钟)。如果你这样做正确,你应该看到平视显示器,每个通知都有警报。

如果您开始重复发送通知并且很快就不会出现提示。只需等待 1-2 分钟,然后再次发出,它就会出现在单挑中。

关于Android 群组通知添加摘要通知后不报警(Android 6.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36987648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com