4

아래 코드를 사용하여 Android 휴대 전화에 알림을 표시합니다. 알림을 표시하는 데 사용하는 시간을 줄이려고합니다. 이제는 약 2 초가 지나면 숨겨집니다. 나는 2 초에서 1 초로 시간을 줄이고 싶다. 가능한가?Android에 표시되는 알림 시간을 단축 할 수 있습니까?

Notification notification = new NotificationCompat.Builder(context) 
        .setContentTitle(context.getString(R.string.app_name)) 
        .setContentText("Notification") 
        .setAutoCancel(false) 
        .setPriority(Notification.PRIORITY_MAX) 
        .setSmallIcon(R.mipmap.ic_launcher) 
        .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE) 
        .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher)) 
        .build(); 

NotificationManager notificationManager = getNotificationManager(context); 
notificationManager.notify(SAFER_DISCONNECTED_NOTIFICATION_ID, notification); 

답변

2

지금, 그것은 다음 숨겨져 보여주는를 위해 약 2 초를 보낸다.

Notification이 헤드 업 모드로 표시되는 시간에 관해 특히 보장하지 않습니다. 이는 사용자가 말하는 것으로 가정합니다.

예를 들어 기본적으로 헤드셋 알림을 기본적으로 지원하지 않는 Android 4.4 이하에서는 0 초 동안 표시됩니다. 그러나 사용자는 NotificationListenerService을 사용하여 앱을 설치할 수 있으며 해당 서비스는 알림을 표시 할 수 있지만 오래 동안 필요합니다.

가능합니까?

아니요, 죄송합니다. 이는 알림을 표시하는 코드의 제어하에 있습니다.

0

알림은 Android에서 표시되며 권한이 없음은 뿌리가 맞지 않은 기기에서 알림 미리보기 시간 변경 애플리케이션을 변경하는 데 사용됩니다.

그러나 통지의 내용이 중요하지 않은 경우, 당신은 프로그래밍 두 번째 후 알림을 취소 할 수 있습니다

new java.util.Timer().schedule(
    new java.util.TimerTask() { 
     @Override 
     public void run() { 
      runOnUiThread(new Runnable() { 
       public void run() { 
        //your code for cancel notification(s) 
       } 
      }); 
     } 
    }, 
1000); 

2 :

1- 두 번째 후 작업을 수행하기위한 시간을 만들 당신은 통지를 취소 할 수 있습니다

NotificationManager nMgr = (NotificationManager) getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE); 
nMgr.cancel(NOTIF_ID); 

또는 주어진 상황에서 모든 알림을 취소 :

nMgr.cancelAll();