是否可以减少在Android中显示的通知时间?

问题描述:

我正在使用波纹管代码在我的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秒用于示出,那么它是隐藏的。

关于Notification将以抬头模式显示的时间量我并不特别保证,我认为这是您所指的。

例如,默认情况下,它会在Android 4.4及更早版本上显示0秒,但本机不支持抬头通知。但是,用户可以安装一个NotificationListenerService的应用程序,然而该服务可以显示通知,但是不管多长时间,都需要。

这可能吗?

不,对不起。这是在显示通知的代码的控制下。

通知通过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();