Статьи

Android – Использование уведомлений Jelly Bean

Последнее сообщение было давно! Я был очень занят в последнее время … но многому учусь у Android! (и Node js тоже… я влюблен в эту платформу!)
Для тех, кто следит за мной, я решил, что с тех пор статьи будут только на английском языке (извините = /), и весь исходный код моих примеров будет доступен на github.
Очевидно, что, будучи разработчиком Android, ввод-вывод Google стал отличным источником новых вещей для изучения … И одним из них был Jelly Bean (Android 4.1 для тех, кто еще не знает этого).
Одна из главных новинок, которые приносит нам Jelly Bean, – это новые функции уведомлений. Вы можете увидеть их в Google I / O Keynote или в некоторых статьях по всему Интернету ( 1 , 2 , 3 , 4 )
Итак, с чего нам начать? Прежде всего, вам нужно создать Android-проект с версией Jelly Bean SDK.
Вероятно, большинство из вас использовали NotificationManager для отправки уведомлений на устройства Android … Для новых уведомлений Jelly Bean его необходимо использовать почти таким же образом. Вы можете использовать что-то вроде этого:
01
02
03
04
05
06
07
08
09
10
11
NotificationManager notificationManager = getNotificationManager();
Notification notification =
     new Notification(android.R.drawable.ic_menu_camera, "Hello camera!", System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.number += 1;
 
Intent intent = new Intent(this, MainActivity.class);
PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "title", "content", activity);
 
notificationManager.notify(0, notification);
Что мы должны сделать, чтобы использовать новые уведомления Jelly Bean? Это довольно легко … и я должен признать, что я предпочитаю этот способ, используя шаблон Builder. Это пример стиля Big picture:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Builder build = new Notification.Builder(this)
   .setContentTitle("New mail from me")
   .setContentText("subject")
   .setTicker("New email with photo")
   .setSmallIcon(R.drawable.ic_action_search)
   .addAction(
    android.R.drawable.ic_btn_speak_now,
    "Speak!",
    PendingIntent.getActivity(getApplicationContext(), 0,
     getIntent(), 0, null))
   .addAction(
    android.R.drawable.ic_dialog_map,
    "Maps",
    PendingIntent.getActivity(getApplicationContext(), 0,
     getIntent(), 0, null))
   .addAction(
    android.R.drawable.ic_dialog_info,
    "Info",
    PendingIntent.getActivity(getApplicationContext(), 0,
     getIntent(), 0, null));
 
Notification notification = new Notification.BigPictureStyle(build)
    .bigPicture(
      BitmapFactory.decodeResource(getResources(),
        R.drawable.jellybean)).build();
 
Intent notificationIntent = new Intent(this, MainActivity.class);
 
notificationManager.notify(0, notification);
Весь код доступен в моей учетной записи github (где вы можете найти начало нового решения ORM для Android, которое, я надеюсь, когда-нибудь будет закончено = /) по следующей ссылке . в этом проекте вы также можете найти другой пример новых уведомлений (стиль входящих и большой текст).
Вот как три уведомления будут отображаться на ваших устройствах Android … (если у вас есть желе боб на них :-П )
Надеюсь, вам понравилась статья, и вы можете задать мне любые сомнения, подписаться на меня в Twitter или написать мне и по электронной почте