2017-11-07 6 views
0

사용자 지정 알림을 사용하여 아래 코드를 시도했지만 작동하지 않습니다. 나는 음악 플레이어와 같은 사용자 지정 알림에 카운터를 표시하려고합니다.알림 표시 줄을 항상 음악 표시 줄처럼 알림 표시 줄 위에 놓아야합니다.

final RemoteViews remoteViews = new RemoteViews(getPackageName(), 
       R.layout.layout_workout); 

     remoteViews.setTextViewText(R.id.layout_workout_tv_name, type + " " + videoList.get(position).getName()); 
     remoteViews.setTextViewText(R.id.layout_workout_tv_time, strTime); 

     final Intent pauseWorkout = new Intent(); 
     pauseWorkout.setAction(ACTION_PAUSE); 
     final PendingIntent pauseWorkoutPendingIntent = PendingIntent.getBroadcast(this, 101, pauseWorkout, PendingIntent.FLAG_UPDATE_CURRENT); 


     final Intent resumeWorkout = new Intent(); 
     resumeWorkout.setAction(ACTION_RESUME); 
     final PendingIntent resumeWorkoutPendingIntent = PendingIntent.getBroadcast(this, 102, resumeWorkout, PendingIntent.FLAG_UPDATE_CURRENT); 


     final Intent skipWorkout = new Intent(); 
     skipWorkout.setAction(ACTION_SKIP); 
     final PendingIntent skipExercisePendingIntent = PendingIntent.getBroadcast(this, 103, skipWorkout, PendingIntent.FLAG_UPDATE_CURRENT); 

     final Intent completeSetWorkout = new Intent(); 
     completeSetWorkout.setAction(ACTION_COMPLETE_SET); 
     final PendingIntent completeSetPendingIntent = PendingIntent.getBroadcast(this, 104, completeSetWorkout, PendingIntent.FLAG_UPDATE_CURRENT); 


     final NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
       .setSmallIcon(getNotificationIcon()) 
       .setColor(ContextCompat.getColor(this, R.color.colorAccent)) 
       .setAutoCancel(false) 
       .setContent(remoteViews) 
       .setShowWhen(false) 

       .setOngoing(true); 

     notificationBuilder.setWhen(System.currentTimeMillis()); 


     remoteViews.setOnClickPendingIntent(R.id.layout_workout_btn_complete_set, completeSetPendingIntent); 
     remoteViews.setOnClickPendingIntent(R.id.layout_workout_btn_pause, pauseWorkoutPendingIntent); 
     remoteViews.setOnClickPendingIntent(R.id.layout_workout_btn_resume, resumeWorkoutPendingIntent); 
     remoteViews.setOnClickPendingIntent(R.id.layout_workout_btn_skip, skipExercisePendingIntent); 

     notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
     notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); 

enter image description here

또한 ... 코드 아래 사용뿐만 아니라, 코드 아래의 우선 순위가 높은 알림

.setPriority(Notification.PRIORITY_MAX)

+0

@Dhiren 프로그래밍 방식으로 수행하는 방법입니다. ? –

+0

나는 잘 모르지만, 을 사용하고 있지만, .setPriority (Notification.PRIORITY_MAX) 은 일부 장치에서 정상적으로 작동합니다. – Dhiren

답변

0

시도

NotificationCompat.Builder mBuilder = 
    (NotificationCompat.Builder) new NotificationCompat.Builder(context) 
    .setSmallIcon(R.drawable.some_small_icon) 
    .setContentTitle("Title") 
    .setContentText("This is a test notification with MAX priority") 
    .setPriority(Notification.PRIORITY_MAX); 
+0

.setPriority (Notification.PRIORITY_MAX)를 이미 사용했지만 도움이되지 않았습니다. –