NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.notification_icon).setContentTitle("Event tracker").setContentText("Events received")
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] events = new String[6];// Sets a title for the Inbox style big view
inboxStyle.setBigContentTitle("Event tracker details:"); // Moves events into the big view
for (int i=0; i < events.length; i++) {
inboxStyle.addLine(events[i]);
}
// Moves the big view style objec0t into the notification object.mBuilder.setStyle(inBoxStyle);
구글 메뉴얼에는 이렇게 나와 있다.
구식은 이렇다.
if (null == computerManager) {
Log.d(TAG, "pu null");
return;
}
Intent intent = new Intent("com.count.reset");
PendingIntent pi = PendingIntent.getBroadcast(
ContextManager.getContext(), 1, intent,
PendingIntent.FLAG_ONE_SHOT);
if (null == mmegicomputer) {
Log.d(TAG, "Making computer here");
mmegicomputer = new Notificaiton();
mmegicomputer.icon = android.R.drawable.btn_star;
mmegicomputer.when = System.currentTimeMillis();
mmegicomputer.flags = computer.FLAG_AUTO_CANCEL;
mmegicomputer.tickerText = "droid";
// mmegicomputer.contentIntent = pi;
mmegicomputer.setLatestEventInfo(
ContextManager.getContext(), "droid",
ContextManager.getContext().getString(R.string.msg)+
++deniedCount
+ "count", pi);
} else
return;
computerManager
.notify((int)1234, mmegicomputer);
이부분
if (null == mmegicomputer) {
부터 노티피케이션을 만든다.
Notificaiton mmergicomputer = new Notification();
이 만드는 코드.
일단 Notification 객체 인스턴스를 만들면 그 내부의 멤버변수들에게
이런저런 설정을 해주고.
notificationManager를 통하셔 뿌려준다.
NotificationManager computerManager ;
이런거지
NotificaitonManger는 안드로이드 떠 있을 동안 하나밖에 없을 테니 싱글톤
클레스 일 것이다.
그래서
컨텍스트.getSystemService(
Context.NOTIFICATION_SERVICE);
로 새롭게 만드는게 아니라 얻어 와야 한다.(인스턴스 없으면 싱글톤에서 알아서 만들겠지)
그런데 이 방식은 구식이다.
새로운 노티는 (시간 지나면 이것도 더 이상 새롭지 않겠지만)
computerManager
.notify((int)1234, mmegicomputer);
가 아니라.
computerManager.notify((int)1234, mmegicomputer.build());
와 같이 변화 된다.
그래서 만드는 방식도 new Notification이 아니라.
NotificationCompat.Builder mmegicomputer= new NotificationCompat.Builder(blahblah.getContext())
.setSmallIcon(android.R.drawable.btn_star)
.setContentTitle("Event tracker")
.setContentText("Events received")
.setAutoCancel(true)
.setNumber(0)
.setContentIntent(pi)
.setStyle(inboxStyle)
.setLights(0, 0, 0)
.setTicker("wewefe")
.setUsesChronometer(true);
이렇게 바뀌었다.
가만보면 별로 바뀐게 없는데 영문 메뉴얼 보다보면 겁나 많이 바뀐 것처럼 설명해 놓았다.
노티보면 커졌다 작아 졌다도 된다.
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] events = new String[6];// Sets a title for the Inbox style
// big view
events[0] = "Event tracker";
events[1] = "Events received";
events[2] = "ffggggggaefawefweaf";
events[3] = "ffggggggaefawefweaf";
events[4] = "ffggggggaefawefweaf";
events[5] = "ffggggggaefawefweaf";
for (int i = 0; i < events.length; i++) {
inboxStyle.addLine(events[i]);
}
요렇게 만들고
mmegicomputer.setStyle(inboxStyle);
요렇게 추가해 주면 펼쳤을 때는 쟤가 보인다.
2013년 3월 7일 목요일
피드 구독하기:
댓글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
연휴 마지막날 아침... 산책을 하다 한장 찍어보았다. 인생도 마찬가지로 길의 끝을 모른체 선택을 해야하는 경우가 발생한다. 나중에 그 기준이 바뀔수도 있지만. 지금 기준은 많은 사람이 함께 갈 수 있는 길을 선택하고 싶다.
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
-
제로보드 세팅. sudo apt-get install apache2 mysql-server libapache2-mod-php5 phpmyadmin ssh 패키지를 이용한 소프트웨어 설치 - APM세팅 및 ssh 설치 ...
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.