Проблема с уведомлением Blackberry - PullRequest
1 голос
/ 08 апреля 2011

Я пытаюсь сделать уведомление, когда я нажимаю на элемент меню, он показывает мне индикатор, но я не вижу сообщения, может кто-нибудь объяснить, где я сделал неправильно:

   private MenuItem AMenu = new MenuItem("Notify", 101, 10)
    {
        public void run()
        {
            ReadableListImpl mylist= new ReadableListImpl();
            ApplicationMessageFolder folder = null;
            if(ApplicationMessageFolderRegistry.getInstance().getApplicationFolder(0x33c7ce29883abe5fL)==null){

                 folder = ApplicationMessageFolderRegistry.getInstance().registerFolder(
                        0x33c7ce29883abe5fL, "Test Folder", mylist );

            }else {
                 folder = ApplicationMessageFolderRegistry.getInstance().getApplicationFolder(0x33c7ce29883abe5fL);
            }

            //DemoMessage source is available in the messagelistdemo.
            DemoMessage msg = new DemoMessage("me@here.com", "Pizza Toppings","What would you like on your pizza?", System.currentTimeMillis());

            mylist.addMessage(msg);

            folder.fireElementAdded(msg,true);
            System.out.println("nr of messages"+folder.hasNewMessages());

            ApplicationIndicatorRegistry reg =
                ApplicationIndicatorRegistry.getInstance();
             EncodedImage image = EncodedImage.getEncodedImageResource("new.png" );
                ApplicationIcon icon = new ApplicationIcon( image );
            ApplicationIndicator indicator = reg.register( icon, false, true);

            ApplicationIndicator appIndicator = reg.getApplicationIndicator();
            appIndicator.setIcon(icon);
            appIndicator.setValue(appIndicator.getValue() + 1);
            appIndicator.setNotificationState(true);
            appIndicator.setVisible(true);;
        }
    };

1 Ответ

1 голос
/ 27 мая 2011

Я заметил две вещи, которые смотрели на твой код:

Сначала вы создаете новый ReadableListImpl каждый раз, когда вызывается пункт меню. Это означает, что экземпляр ReadableListImpl, к которому вы добавляете сообщение, не всегда совпадает с тем, который использовался при регистрации папки. Таким образом, ваш код должен работать при первом вызове, но не при последующих.

Во-вторых, в BB OS 6 сообщение может появляться в двух местах: на главном экране (панель уведомлений) и в списке сообщений (приложение «Сообщения»). Возможно, ваше сообщение действительно появилось в списке сообщений, но не в панели уведомлений. Из моего опыта сообщения отображаются в панели уведомлений, только если статус сообщения - ApplicationMessage.Status.UNOPENED.

Используйте ApplicationFolderIntegrationConfig, если вы хотите контролировать, где должно отображаться ваше сообщение.

...