是否可以减少在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();