반응형

개요

 

이번에는 안드로이드에서 버튼을 클릭할 시 푸시 알람이 오는 것을 해보도록 하겠습니다.

 


설명

 

사실 간단하게 NotificationCompat.Builder 만 구현해주면 간단하게 만드실 수 있습니다.

그럼 한번 해보도록 하겠습니다!.

 


코드

 

private String createNotification(String user) {

        NotificationCompat.Builder builder = new NotificationCompat.Builder(this, "default");

        builder.setSmallIcon(R.mipmap.ic_launcher);
        builder.setContentTitle("승리자!");
        builder.setContentText(user + "님이 승리 하였습니다!");
        builder.setDefaults(Notification.DEFAULT_VIBRATE);

        builder.setColor(Color.RED);

        // 사용자가 탭을 클릭하면 자동 제거
        builder.setAutoCancel(true);

        // 알림 표시
        NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            notificationManager.createNotificationChannel(new NotificationChannel("default", "기본 채널", NotificationManager.IMPORTANCE_DEFAULT));
        }

        // id값은
        // 정의해야하는 각 알림의 고유한 int값
        notificationManager.notify(1, builder.build());

        return user;
    }

 


코드설명

 

보통은 간단하게 void로 구현하셔도 되는데 저는 매개변수를 한번 넣어 봤습니다. 

 

알림 내용 밑에부터 설명해드리자면

setDefaults 는 알림을 받는 방법을 택하는 것입니다.

저는 Notification.DEFAULT_VIBRATE 를 사용했는데

진동으로 알림이 오는 것입니다. 

( 소리를 원하시면 DEFAULT_SOUND를 입력하세요. )

 

setPriority는 우선순위.. 즉 중요도를 뜻합니다.

setAutoCancel은 푸시 알림창을 사용자가 터치하였을 때

자동으로 사라지는 가에 대한 내용입니다.

( true면 사라지고, false 면 유지 )

 

시스템의 NotificationManager를 가져와서 notify() 메소드를 이용해 보내주기만 하면 됩니다.

 

id값

 

id값은 정의해야 하는 각 알림의 고유한 번호입니다!

 


사용 예제

 

btn_stop_timer.setOnClickListener(new View.OnClickListener() {
            @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
            @Override
            public void onClick(View v) {
                createNotification(p1.getText().toString());

        	}
}

 


그럼 이렇게 간단하게 Notification에 대해서 알아보았습니다.

 


 

반응형

+ Recent posts