푸쉬가 오면 상단 알림 리스트에 해당 메시지가 표시됩니다. 이 기능을 푸쉬가 오지 않아도, 앱에서 넣는 기능입니다.

주의 할 점은 오레오 버전 이상에서는 채널 기능이 있어야 해 코드 분기가 있습니다. 그 외에는 코드가 간단해 이해 하기 쉬우리라 판단됩니다.

1. MainActivity.java onCreate 메소드 속, 버튼 이벤트 추가.

        // 버튼을 표시하도록 합니다.
        Button btn = findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick( View v )
            {
                showNoti1();
            }

        });

 

2. MainActivity 클래스에 알림표시 메소드.

    private static final String CHANNEL_ID = "channel1";
    private static final String CHANNEL_NAME = "Channle1";

    NotificationManager manager;
    
    
    
    
    
    
    
    // 헤드 업 UI를 표시하도록 하는 메소드.
    public void showNoti1()
    {

        manager = ( NotificationManager ) getSystemService(NOTIFICATION_SERVICE);
        NotificationCompat.Builder builder = null;


        // [-- 안드로이드 버전 별로 알림을 호출하는 방법 분리. --]

        // 오레오(O) 버전 이상인 경우, 채널을 지정해 알림을 표시하도록 합니다.
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O )
        {

            // 채널이 없는 경우 채널을 생성하도록 합니다.
            if( manager.getNotificationChannel(CHANNEL_ID) == null )
            {
                manager.createNotificationChannel(new NotificationChannel(
                    CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT
                ));
            }

            builder = new NotificationCompat.Builder(this, CHANNEL_ID);

        }

        // 그 외에는 채널 없이 알림을 표시해 주도록 합니다.
        else{


            builder = new NotificationCompat.Builder(this, CHANNEL_ID);


        }


        Log.d(TAG, "왜 안되나?");


        // 생성된 빌더에 메시지들을 끼워 넣도록 합니다.
        builder.setContentTitle("간단 알림");
        builder.setContentText("알림 메시지 입니다.");
        builder.setSmallIcon(android.R.drawable.ic_menu_view);
        Notification noti = builder.build();

        manager.notify(1, noti);



    }

 

* 버튼은 레이아웃을 통해 추가하고, 이 버튼을 눌렀을 때 알림이 표시되면 성공입니다.

 

 

 

'Android' 카테고리의 다른 글

android 베타 버전으로 앱 등록하기  (3) 2019.04.08
android 출시용 apk 파일 만들기  (0) 2019.04.08
FCM Push notification (android)  (0) 2019.04.06
android webview, javascript 통신  (1) 2019.04.03
android 웹뷰(webview) 설정  (0) 2019.04.02
Posted by 창업닉군
,