기존에 sdk 버전 22로 스케줄을 입력하고 해당 스케줄 시간에 알림이 오는 어플을
개발하고 있었습니다. 버전 22의 경우 manifest에서
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
public void onButtonClicked(View v){
NotificationManager notificationManager= (NotificationManager)MainActivity.this.getSystemService(MainActivity.this.NOTIFICATION_SERVICE);
Intent intent1 = new Intent(MainActivity.this.getApplicationContext(),MainActivity.class);
NotificationCompat.Builder builder = new NotificationCompat.Builder(getApplicationContext());
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingNotificationIntent = PendingIntent.getActivity( MainActivity.this,0, intent1, FLAG_UPDATE_CURRENT);
builder.setSmallIcon(R.drawable.on).setTicker("HETT").setWhen(System.currentTimeMillis()).setNumber(1).setContentTitle("푸쉬 제목").setContentText("푸쉬내용").setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE).setContentIntent(pendingNotificationIntent).setAutoCancel(true).setOngoing(true);
notificationManager.notify(1, builder.build());
}
위의 3가지 권한만 사용하면 Notification를 동작하는데 아무 이상없었는데
26버전의 경우 알림 기능이 실행되지 않습니다.
추가적으로 설정해줘야하는 권한이 있을까요?
밑의 코드는 다른분 블로그에서 받아온 코드인데요 실행해보니 22버전에서는 알림이 동작하는데
23이상에서는 동작하지 않네요