이번에 알림기능을 넣고 앱을 테스트 하면서

안드로이드 ics 버전에서 앱이 죽는 현상이 발생하여 다음과 같이 해결

public static void ViewNotice(String notiTitle ,String notiContent,Context context){ NotificationManager mNM; mNM = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);         Intent mI = new Intent(); mI.setClass(context, NotiViewActivity.class); mI.putExtra("NOTICE", notiContent); mI.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, mI, PendingIntent.FLAG_UPDATE_CURRENT);     Notification notification = null;                 //안드로이드 버전 체크 if(Build.VERSION_CODES.KITKAT<Build.VERSION.SDK_INT){                     //킷켓보다 버전 보다 높을 경우

Notification.Builder builder = new Notification.Builder(context); builder.setSmallIcon(R.drawable.icon_t); builder.setWhen(System.currentTimeMillis()); builder.setContentTitle("공지 제목"); builder.setContentText("공지 내용"); builder.setContentIntent(contentIntent); notification = builder.build(); }else{                     //킷켓 버전이하일 경우

    notification = new Notification(R.drawable.icon_t, null, System.currentTimeMillis());     notification.setLatestEventInfo(context, "공지 제목","공지 내용", contentIntent); } notification.flags |= Notification.FLAG_AUTO_CANCEL; notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE; notification.defaults |= Notification.DEFAULT_SOUND; mNM.notify(0, notification); }


특정버전 이하에서는 Notification notification = builder.build(); 지원하지 않는것 같음

안드로이드 ics 버전에서는 다음과 같이 정의하면 오류가 나지 않는다.

		    notification = new Notification(R.drawable.icon_t, null, System.currentTimeMillis());
	            notification.setLatestEventInfo(context, "공지 제목","공지 내용", contentIntent);




728x90
반응형

+ Recent posts