gpt4 book ai didi

java - 黑莓 - "you currently have no new notifications"

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

我正在使用下面的代码(尤其是 pushMessage 方法)向用户显示一些通知:

public final class MyApplicationMessageFolder 
{
public static final long MyFolderId = 0x1256789012F10123L;

private ApplicationMessageFolder folder_;
private ApplicationIndicator indicator_;
private MyReadableListImpl collection_;

public void pushMessage(String subject, String message)
{
try
{
if (collection_ == null)
{
collection_ = new MyReadableListImpl();
}
if (indicator_ == null)
{
registerFolderAndIndicator();
}

ApplicationMessage am = new MyApplicationMessage(message, subject);
collection_.addMessage(am);
folder_.fireElementAdded(am);

// Update indicator
int size = collection_.size();
indicator_.setValue(size);
indicator_.setVisible(size > 0);
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}

private void registerFolderAndIndicator()
{
// registration application folder and indicator
ApplicationMessageFolderRegistry amfr =
ApplicationMessageFolderRegistry.getInstance();
folder_ = amfr.getApplicationFolder(MyFolderId );

if (folder_ == null)
{
folder_ =
amfr.registerFolder(MyFolderId , "My Folder", collection_, true);
ApplicationIcon icon =
new ApplicationIcon(image_ = EncodedImage.getEncodedImageResource("my_icon.png"), true);
int status = ApplicationMessage.Status.INCOMING | ApplicationMessage.Status.UNOPENED;

amfr.registerMessageIcon(0, status, icon);
folder_.setSearchProperties(new ApplicationMessageSearchProperties(true));
folder_.addListener(
new ApplicationMessageFolderListener() {

public void actionPerformed(int action, ApplicationMessage[] messages,
ApplicationMessageFolder folder) {
if (action == ApplicationMessageFolderListener.MESSAGE_DELETED) {
for (int i = 0; i < messages.length; i++)
collection_.removeMessage(messages[i]);

indicator_.setValue(collection_.size());
indicator_.setVisible(collection_.size() > 0);
}
}
},
ApplicationMessageFolderListener.MESSAGE_DELETED |
ApplicationMessageFolderListener.MESSAGE_MARKED_OPENED |
ApplicationMessageFolderListener.MESSAGE_MARKED_UNOPENED,
ApplicationDescriptor.currentApplicationDescriptor());

ApplicationMenuItem[] menu = new ApplicationMenuItem[] {

new ApplicationMenuItem(0) {

public String toString() {
return "Go to application";
}

public Object run(Object context) {
return null;
}
}
};

amfr.registerMessageMenuItems(0, status, menu,
ApplicationDescriptor.currentApplicationDescriptor());
amfr.setBulkMarkOperationsSupport(0, status, true, false);

ApplicationIndicatorRegistry air = ApplicationIndicatorRegistry.getInstance();
air.register(new ApplicationIcon(EncodedImage
.getEncodedImageResource("bar_icon_25.png")),
false, false);

indicator_ = air.getApplicationIndicator();
}
}

class MyApplicationMessage implements ApplicationMessage
{
private String message_;
private String subject_;
private long timestamp_;

public MyApplicationMessage(String message, String subject) {
message_ = message;
subject_ = subject;
timestamp_ = new Date().getTime();
}

public String getContact() {
return "HelloWorld";
}

public Object getCookie(int cookieId) {
return null;
}

public Object getPreviewPicture() {
return image_;
}

public String getPreviewText() {
return message_;
}

public int getStatus() {
return ApplicationMessage.Status.UNOPENED;
}

public String getSubject() {
return subject_;
}

public long getTimestamp() {
return timestamp_;
}

public int getType() {
return 0x01;
}
}

private class MyReadableListImpl implements ReadableList {
private final Vector messages;


MyReadableListImpl() {
messages = new Vector();
}

public Object getAt(final int index) {
return messages.elementAt(index);
}

public int getAt(final int index, final int count,
final Object[] elements, final int destIndex) {
return 0;
}

public int getIndex(final Object element) {
return messages.indexOf(element);
}

public int size() {
return messages.size();
}

void addMessage(final ApplicationMessage message) {
messages.addElement(message);
}

void removeMessage(final ApplicationMessage message) {
messages.removeElement(message);
}
}
}

我可以在我的消息文件夹中看到我的消息,但我仍然无法在通知栏中看到它们

enter image description here

谁能解释为什么我看到空的通知栏?

谢谢

最佳答案

要在通知下拉列表中查看消息,需要使用:

ApplicationFolderIntegrationConfig config = new 
ApplicationFolderIntegrationConfig(true, true,
ApplicationDescriptor.currentApplicationDescriptor());
folder_ = amfr.registerFolder(MyFolderId , "My Folder", collection_, config);

改为:

folder_ = amfr.registerFolder(MyFolderId , "My Folder", collection_, true);

关于java - 黑莓 - "you currently have no new notifications",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14952223/

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