2016-11-23 126 views
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(); 
相關問題