푸쉬가 오면 상단 알림 리스트에 해당 메시지가 표시됩니다. 이 기능을 푸쉬가 오지 않아도, 앱에서 넣는 기능입니다.
주의 할 점은 오레오 버전 이상에서는 채널 기능이 있어야 해 코드 분기가 있습니다. 그 외에는 코드가 간단해 이해 하기 쉬우리라 판단됩니다.
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 |