방대한 문서보다 동작하는 소프트웨어

개발

안드로이드 노티피케이션(Android Notification) 긴글 표시

꽃게장세트 2015. 8. 26. 14:19

안드로이드 노티피케이션(Android Notification) 긴글 표시


  노티피케이션에 나타나는 글의 길이가 길 때가 있다. 일반적으로 안드로이드에서는 긴글을 모두 나타내지 않는다. '...'으로 표시하고 있다. 긴 글을 모두 나타내기 위해서는 Style과 Priority를 반드시 적용 해야 한다. 아래는, 노티피케이션에서 긴 글을 표현하는 코드이다. 


  여기서 주의해야 할 점이 있다. Notification.Builder 나 BitTextStyle 은 젤리빈(Android API Level 16)부터 생겨났다는 점이다. 따라서, 앱의 버전 지원 정책이 젤리빈 이전을 포함한다면 버전에 따른 분기처리를 반드시 해줘야 한다. 그러지 않으면 Exception 발생후 앱이 죽게 된다.



    private void sendNotification_JELLY_BEAN() {
        NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);

        Notification.Builder builder = new Notification.Builder(this);
        builder.setSmallIcon(R.mipmap.ic_launcher);
        builder.setTicker("Tiker");
        builder.setContentTitle("Content Title");
        builder.setDefaults(Notification.DEFAULT_SOUND);
        builder.setContentIntent(pendingIntent);
        builder.setAutoCancel(true);
        builder.setStyle(new Notification.BigTextStyle().bigText("Android 4.1 (Jelly Bean) builds on what's great about Android with improvements to performance and user experience."));
        builder.setPriority(Notification.PRIORITY_MAX);

        manager.notify(1, builder.build());
    }