안드로이드 Notification 이용 방법에도 여러 가지가 있습니다.
상태바 알림을 사용할 때에는 개잘 중인 앱이 SDK 11 이상인지 이하인지
잘 체크 해서 사용해야 합니다.
오늘 시간이 없어서 코드만 간략하게 올려 봅니다
도움 되시길 바라며 ^^
아래소스는 옛(구) 버전의 notification 소스 코드입니다.
모든 OS 호환 되며 가장 기본 적인 Title , text , icon , ticker 이용시 사용되는 코드 입니다.
ii.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); NotificationManager notificationManager = (NotificationManager)context.getSystemService(Activity.NOTIFICATION_SERVICE); PendingIntent pendingIntent = PendingIntent.getActivity(context, Code, ii, PendingIntent.FLAG_UPDATE_CURRENT); Notification notification = new Notification(); notification.icon = R.drawable.ic_launcher; notification.tickerText = ticker 에 보여질 메시지; notification.when = System.currentTimeMillis(); notification.vibrate = new long[] { 500, 100, 500, 100 }; notification.sound = Uri.parse("/system/media/audio/notifications/20_Cloud.ogg"); notification.defaults |= Notification.DEFAULT_SOUND; notification.flags = Notification.FLAG_AUTO_CANCEL; notification.setLatestEventInfo(context, getString(R.string.app_name) , msg , pendingIntent); notificationManager.notify(Code, notification);
아래 소스는 최신 업데이트된 notification 소스 입니다.
하지만 아래 소스를 사용하신다면 확인 하셔야 할 부분이 있습니다.
제가 테스트한 폰은 갤럭시s4 LTE 입니다. 다른 폰에서는 아직 테스트 해보진 않았지만
아래 소스를 사용할경우 contenttext 를 입력하여 notification을 사용하시게 되면 이상하게
가끔 상태바 알림 제목은 나오나 내용이 안나오는 경우가 있는데
좀더 테스트를 해보시구 확인 해보셔야 할 듯합니다.
위에서 말한 오류만 아니라면 새롭게 업데이트 된 notification 은 다양하게 이용 가능하고 좋습니다.
상태알림 바에서 아래로 드레그하게 되면 상세내용도 확인 할 수 있도로 가능하며
tag 값도 입력하여 여러가지로 다양하게 꾸밀 수 있습니다. view(뷰)까지 추가 가능하기때문에
이미지나 뷰를 추가하여 다양하게 효율 적으로 사용 가능하여 좋은 것 같습니다.
// Notification.Builder builder = new Notification.Builder(ctx) sdk 11 이상 사용가능 NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx) //sdk 11이전 버전도 호환 가능 하기 위하여 나옴 Intent ii = new Intent(getApplicationContext(), 클레스네임.class); ii.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 0, ii, PendingIntent.FLAG_UPDATE_CURRENT); Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); builder.setSound(alarmSound); builder.setSmallIcon(R.drawable.ic_launcher); builder.setContentTitle(getString(R.string.app_name)); builder.setTicker( ticker 에 보여질 메시지 ); builder.setContentText( 상태바를 내리면 보여질 메시지); builder.setContentIntent(contentIntent); builder.setAutoCancel(true); builder.setLights(Color.BLUE, 500, 500); long[] pattern = {500,500,500,500}; builder.setVibrate(pattern); builder.setStyle(new NotificationCompat.BigTextStyle()); NotificationManager manager = (NotificationManager)getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(Code, builder.build());
'Android | JAVA' 카테고리의 다른 글
FragmentStatePagerAdapter 이용시 에러 is not currently in the fragmentmanager (0) | 2014.06.23 |
---|---|
안드로이드 java Arraylist 역순 정렬 (0) | 2014.06.18 |
안드로이드 페이스북 Intent 공유하기 (0) | 2014.06.13 |
안드로이드 킷캣 상태바 투명 처리 ios 처럼 (android kitkat status bar ) (2) | 2014.03.15 |
안드로이드 레이웃 가로 세로 사이즈 구하기 및 비율로 사이즈 변경 [ android layout size width , height] (0) | 2014.03.07 |