ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Notification
    LANGUAGE/ANDROID 2015. 2. 2. 18:19

    알림이 중복으로 겹치지 않고 하나씩 나타내려고 한다.

     

    안드로이드 이전 버전에서는 Notification을 띄우기 위해 Notification 인스턴스를 만들어 사용했지만

    지금은 Notification.Builder를 통해 생성하도록 권장하고 있다.

    android.support.v4.app 패키지의 NotificationCompat.Builder 객체를 이용하면 예전버전과 호환성 있게 사용 할 수 있다.

     

    NotificationManager mNotificationManager;

     

    intent = new Intent(ctx, TestActivity.class);
    intent.putExtra("contentId", contentId);

     

    PendingIntent contentIntent = PendingIntent.getActivity(ctx, (int)(System.currentTimeMillis()/1000),
           intent, PendingIntent.FLAG_UPDATE_CURRENT);

        

    NotificationCompat.Builder mBuilder =
               new NotificationCompat.Builder(ctx)
               .setSmallIcon(R.drawable.ic_launcher)
               .setContentTitle(context.getResources().getString(R.string.app_name))
               .setStyle(new NotificationCompat.BigTextStyle()
                          .bigText(msg))
               .setContentText(msg).setAutoCancel(true).setOnlyAlertOnce(true);

         

    mBuilder.setContentIntent(contentIntent);
    mNotificationManager.notify((int)(System.currentTimeMillis()/1000), mBuilder.build());

     

    ////////////////

    나는 하나의 알림마다 특정 id 값을 주어서 해당 id값을 가지는 액티비티를 호출하도록 하였다.

     

    1. PendingIntent 호출 하고 옵션에서 빨간 색으로 되어 있는 부분이 requestcode를 넣는 부분인데 각 알림마다 private한 값을 넣으면 알림이 겹치지 않고 개별적으로 하나씩 호출된다.

    (나는 시간을 지정해줬다.)

     

    2. 마지막 줄에도 같은 형식인데 private한 값을 줘야 여러개의 알림이 와도 각각 따로 동작할 수 있다

     

    ////////////

    이따가 블로그에 코드 예쁘게 붙이는 방법을 적용해야 겠다...

     

    댓글

Designed by Tistory.