티스토리 뷰
안드로이드 버전이 올라가면서, Notification영역에 보여지는 디자인이 변경이 되고 있다.
이러한 부분을 하나씩 분기해서 사용하지 않아도, NotificationCompat을 이용하면 손쉽게 개발이 가능하다.
안드로이드 NotificationCompat이용.
안드로이드 4.1에서, 노티피케이션이 많은 변화를 가졌다. text가 bigview가 되거나, 뭐 기타등등.
5.0에서는 UI적으로도 변화와, 잠금화면에서 노티가 왔을 경우에, 노출되는 규칙도 변경이 되었다.
다음은 예. 와 사용 방법
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setContentTitle("TITLE");
notificationBuilder.setContentText("MESSAGE");
// Notification에 small icon을 노출하여 줍니다. 5.0기준으로는 Small아이콘과 Big아이콘을 같이 설정하여 주게 되면,
// Big아이콘 하단에 하얀색으로 나오게 되는데, 이렇게 노출될 경우에, 하얀색 아이콘의 배경색이 들어가게 됩니다.
// 5.0 미만에서는 아무런 영향도 없음.
notificationBuilder.setColor(Color.BLACK);
// OS Version별로 다른 위치에 노출되게 되는 SmallIcon
notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
// 5.0 이상에서 잠금화면에 노출될 경우에, 노티피케이션의 가시성.
// VISIBILITY_PRIVATE - 노티피케이션 아이콘과 같은 기본적인 정보만 표출되며 상세한 내용은 감춘다.
// VISIBILITY_PUBLIC - 노티피케이션의 컨텐츠가 보인다.
// VISIBILITY_SECRET - 아이콘을 포함해 아무 것도 보이지 않는다.
notificationBuilder.setVisibility(NotificationCompat.VISIBILITY_PRIVATE);
// Notification에 노출될 아이콘. 특정 버전과는 상관없이 노출됨.
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
notificationBuilder.setLargeIcon(bitmap);
// 노티를 만들고 노티영역에 노출하여 주게 됩니다.
Notification notification = notificationBuilder.build();
NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, notification);
추가적인 Meta Data
setCategory() : 운영체제가 우선순위에 따라 어떻게 처리할지 힌트를 줄 수 있다(노티피케이션이 전화, 메시지, 알람과 관련이 있는지 여부를 설정할 수 있다).
setPriority() : 노티피케이션의 우선 순위를 변경해 중요도에 따라 정보를 분리할 수 있다. PRIORITY_MAX와 PRIORITY_HIGH의 경우 작게 떠 있는 화면으로 나타나며 동시에 소리를 내거나 진동을 울리게 된다.
addPerson() : 노티피케이션의 대상을 한 사람 이상 설정할 수 있다. 특정 사람, 또는 여러 사람에게 중요한 노티피케이션을 보낼 수 있다.
자세한 사항. 역시 레퍼런스
http://developer.android.com/reference/android/app/Notification.html
'Mobile > Android' 카테고리의 다른 글
[Android] MultiDex 적용 (0) | 2016.07.26 |
---|---|
[Android] RemoteControlClient의 폐기로 인한 Notification (0) | 2016.07.26 |
[Android] JobService (0) | 2016.07.26 |
[Android]TextBold 적용 (0) | 2016.07.12 |
[Android]WebView Tip (0) | 2016.04.05 |
- Total
- Today
- Yesterday
- MySQL
- Gradle
- rxswift
- war
- centos8
- ubuntu
- Python
- Xcode
- enum
- Linux
- php
- Windows
- go
- Java
- nodejs
- Codable
- ios
- golang
- github
- Spring
- Kotlin
- docker
- cocoapods
- CentOS
- tomcat
- SWIFT
- git
- android
- windows10
- intellij
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |