non removable notification

后端 未结 4 655
别那么骄傲
别那么骄傲 2020-12-05 07:57

In my app, there is service running on background. I want to notify user that the service is running. But I need that user cannot delete the notification - by pressing clear

4条回答
  •  一向
    一向 (楼主)
    2020-12-05 08:06

    This is possible but the way you implement it depends on the API level you develop for.

    For API levels below 11, you can set Notification.FLAG_NO_CLEAR. This can be implemented like this:

    // Create notification
    Notification note = new Notification(R.drawable.your_icon, "Example notification", System.currentTimeMillis());
    
    // Set notification message
    note.setLatestEventInfo(context, "Some text", "Some more text", clickIntent);
    
    // THIS LINE IS THE IMPORTANT ONE            
    // This notification will not be cleared by swiping or by pressing "Clear all"
    note.flags |= Notification.FLAG_NO_CLEAR;
    

    For API levels above 11, or when using the Android Support Library, one can implement it like this:

    Notification noti = new Notification.Builder(mContext)
        .setContentTitle("Notification title")
        .setContentText("Notification content")
        .setSmallIcon(R.drawable.yourIcon)
        .setLargeIcon(R.drawable.yourBigIcon)
        .setOngoing(true) // Again, THIS is the important line
        .build();
    

提交回复
热议问题