1

6.0 아래의 장치에서 정상적으로 작동하는 응용 프로그램에서 하나의 작업 버튼을 사용하여 알림을 만들었지 만 6.0 이상에서는 작업 버튼이 클릭되지 않고 대신 전체 알림이 클릭되고 콘텐츠 의도가 대신 실행됩니다 보류중인 의도의 액션 버튼 중 어느 것이 든 마샬 할로 (Marshamallow) 이상의 액션 버튼을 사용하는 방법을 알고 있습니다. 다음은 Marshmallow의 안드로이드 알림 문제

내 코드입니다 : -

Intent downloadCancel = new Intent(); 
    downloadCancel.setAction("CANCEL"); 
    PendingIntent cancelPI = PendingIntent.getBroadcast(this,1,downloadCancel, 0); 

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) 
    { 
     Notification.Action actionButton = new Notification.Action.Builder(android.R.drawable.ic_menu_close_clear_cancel,"Cancel",cancelPI).build(); 
     notification = new Notification.Builder(this) 
       .setContentTitle(title) 
       .setContentText(text) 
       .setSmallIcon(R.drawable.ic_file_download_white_24dp) 
       .setContentIntent(pendingIntent) 
       .setTicker(text) 
       .setWhen(0) 
       .setPriority(Notification.PRIORITY_MAX) 
       .addAction(actionButton).getNotification(); 
    } 
    else 
    { 
     notification = new Notification.Builder(this) 
       .setContentTitle(title) 
       .setContentText(text) 
       .setSmallIcon(R.drawable.ic_file_download_white_24dp) 
       .setContentIntent(pendingIntent) 
       .setTicker(text) 
       .setWhen(0) 
       .setPriority(Notification.PRIORITY_MAX) 
       .addAction(android.R.drawable.ic_menu_close_clear_cancel, "Cancel", cancelPI).getNotification(); 
    } 

답변

0

나는 다른 옵션이

0

사용

NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.drawable.ic_menu_close_clear_cancel, "Cancel", cancelPI).build(); 

대신

Notification.Action actionButton = new Notification.Action.Builder(android.R.drawable.ic_menu_close_clear_cancel,"Cancel",cancelPI).build(); 
+0

을하지 않았다이 문제에 대한 리모트 뷰 RemoteViews를 사용했다 나는 이것을 사용하려고 시도했지만 보여 주었다. 행 addAction()에서 NotificationCompat.Action을 Notification.Action 대신 사용할 수 없다는 오류가 발생했습니다. – Akki