본문
[2017.10.11] 45. Android 서비스(Service) 실습3 - Notification
컴퓨터/이론: 안드로이드 2017. 10. 11. 20:50
도입
이번 포스팅에서는 지난번 포스팅의 startService와 bindService와 함께 Notification 기능을 사용해 볼 예정이다.
Notification는 상태표시줄에 서비스의 기능을 알려준다.
[Notification의 예]
실습1 (startService + Notification)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | public class MyService extends Service { // ... @Override public int onStartCommand(Intent intent, int flags, int startId) { setNotification(); return super.onStartCommand(intent, flags, startId); } // ... // 알람의 고유 번호 cf) StartActivityForResult의 requestCode와 동일 기능 private final int TEST_FLAG = 111; private void setNotification() { // 알람을 관리하는 알람 매니저 설정 NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); // 알람 알리기 notificationManager.notify(TEST_FLAG, makeNotification()); } private Notification makeNotification() { // 알람바 변수 Notification notification=null; // 알람바를 생성하기 위한 빌더 변수, 빌더 패턴 NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(this); Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.up); // 빌더에 설정 notifBuilder.setContentTitle("Content Title") .setContentInfo("Content Info") .setContentText("Content Text") .setProgress(100, 20, false) .setCategory("Category") .setSmallIcon(R.mipmap.happy) .setLargeIcon(largeIcon); // 빌더를 통해 알람바 생성 notification = notifBuilder.build(); return notification; } } | cs |
실습2 (bindService + Notification)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | public class MyService extends Service { // ... @Override public IBinder onBind(Intent intent) { customBinder = new CustomBinder(); setNotification(); return customBinder; } // ... // 알람의 고유 번호 cf) StartActivityForResult의 requestCode와 동일 기능 private final int TEST_FLAG = 111; private void setNotification() { // 알람을 관리하는 알람 매니저 설정 NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); // 알람 알리기 notificationManager.notify(TEST_FLAG, makeNotification()); } private Notification makeNotification() { // 알람바 변수 Notification notification=null; // 알람바를 생성하기 위한 빌더 변수, 빌더 패턴 NotificationCompat.Builder notifBuilder = new NotificationCompat.Builder(this); Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.up); // 빌더에 설정 notifBuilder.setContentTitle("Content Title") .setContentInfo("Content Info") .setContentText("Content Text") .setProgress(100, 20, false) .setCategory("Category") .setSmallIcon(R.mipmap.happy) .setLargeIcon(largeIcon); // 빌더를 통해 알람바 생성 notification = notifBuilder.build(); return notification; } } | cs |
스크린 샷
|
#안드로이드 노티피케이션 #android notification
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
[2017.10.16] 49. Thread간의 데이터 전달 (0) | 2017.10.16 |
---|---|
[2017.10.13] 46. Android 서비스(Service) 실습4 - Notification에 버튼 추가 (0) | 2017.10.13 |
[2017.10.11] 44. Android 서비스(Service) 실습2 - bindService (0) | 2017.10.11 |
[2017.10.11] 43. Android 서비스(Service) 실습1 - startService (0) | 2017.10.11 |
[2017.10.10] 42. Android 서비스(Service) 개념 (0) | 2017.10.10 |
댓글