꾸준히 안타치기

알람매니저, 간단 알람 noti 본문

Android _ 서버연동_채팅/Android - UI

알람매니저, 간단 알람 noti

글자줍기 2021. 2. 10. 02:35
반응형
 // 타이머 종료 알람 넣기
    public void timer_end_noti() {

        final NotificationManager notificationManager =
                (NotificationManager) main_activity.this.getSystemService(NOTIFICATION_SERVICE);

        //푸시 알림 터치시 실행할 작업 설정(여기선 MainActivity로 이동하도록 설정)
        final Intent intent = new Intent(main_activity.this.getApplicationContext(), main_activity.class);

        //Notification 객체 생성
        final Notification.Builder builder = new Notification.Builder(getApplicationContext());
        

        //푸시 알림을 터치하여 실행할 작업에 대한 Flag 설정 (현재 액티비티를 최상단으로 올린다 | 최상단 액티비티를 제외하고 모든 액티비티를 제거한다)
        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);


        //앞서 생성한 작업 내용을 Notification 객체에 담기 위한 PendingIntent 객체 생성
        PendingIntent pendnoti = PendingIntent.getActivity(main_activity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);


        //푸시 알림에 대한 각종 설정

        builder.setSmallIcon(R.drawable.ic_launcher_background).setTicker("Ticker").setWhen(System.currentTimeMillis())
                .setNumber(1).setContentTitle("타이머 알람 종료").setContentText("설정된 시간이 완료되었습니다.")
                .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE).setContentIntent(pendnoti).setAutoCancel(true).setOngoing(true);

        //NotificationManager를 이용하여 푸시 알림 보내기
        notificationManager.notify(1, builder.build());
    }

 

Notification.Builder을 사용

생성해준 객체에 푸시 알림에 대한 각종 설정->PendingIntent를 푸시 알림에 설정

푸시 알림을 터치했을 때 특정한 작업(특정 Activity 이동 등)이 발생

 

 - setSmallIcon : 푸시 알림 왼쪽 그림

 - setTicker : 알람 발생시 잠깐 나오는 텍스트

 - setWhen : 푸시 알림 시간 miliSecond 단위 설정

- setNumber : 확인하지 않은 알림 개수 표시 설정

 - setContetnTitle : 푸시 알림 상단 텍스트(제목)

 - setContentText : 푸시 알림 내용

 - setDefaults : 푸시 알림 발생시 진동, 사운드 등 설정

 - setContentIntent : 푸시 알림 터치시 실행할 작업 인텐트 설정

 - setAutoCancel : 푸시 알림 터치시 자동 삭제 설정

 - setOngoing : 푸시 알림을 지속적으로 띄울 것인지 설정

반응형
Comments