防止通知从托盘上滑落

时间:2016-02-08 17:42:37

标签: android

是否可以防止通知从通知托盘中滑出?像usb通知一样。如果没有,是否可以为该场景实施某种监听器?

3 个答案:

答案 0 :(得分:0)

您可以通过使通知像这样粘贴

来实现此目的
private void makeNotification(Context context) {
Intent intent = new Intent(context, MainActivity.class);

PendingIntent pendingIntent = PendingIntent.getActivity(context,
    NOTIFICATION_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT);

Notification.Builder builder = new Notification.Builder(context)
    .setContentTitle("Notification Title")
    .setContentText("Sample Notification Content")
    .setContentIntent(pendingIntent)
    .setSmallIcon(R.drawable.ic_action_picture)
    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
    ;
Notification n;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    n = builder.build();
} else {
    n = builder.getNotification();
}

n.flags |= Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;

notificationManager.notify(NOTIFICATION_ID, n);

}

答案 1 :(得分:0)

当然,这是可能的 我的通知类:

In [1]: A.set_index('key', inplace=True)
        A.update(B.set_index('key'), join='left', overwrite=True)
        A.reset_index(inplace=True)

代码中的某个地方:

public class ONots {

    public static Notification notification(Context ctx, String title, int icon,
            long when, PendingIntent pIntent, String contentTitle,
            String contentText,int flags, int defaults){
        NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx);
        Notification notification = builder.setContentIntent(pIntent)
              .setSmallIcon(icon).setTicker(title).setWhen(when).setContentTitle(contentTitle)
              .setContentText(contentText).setDefaults(defaults).build();
        notification.flags = flags;
        return notification;
    }
}

答案 2 :(得分:0)

您应该设置FLAG_ONGOING_EVENT。设置此标记后,用户无法解除您的通知。有关详细信息,请参阅here

  

常数值:32(0x00000020)

     

public static final int FLAG_ONGOING_EVENT

     

在API级别1中添加

     

要按位进入应该设置的标志字段,如果是这样的话   通知是指正在进行的事情,如a   电话。如果此通知在参考中,则不应设置它   在某个特定时间点发生的事情,比如   错过了电话。

     

常数值:2(0x00000002)