赞
踩
当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的。例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来短信的数目,而不是对每条短信单独做一个通知栏用于提示。
修改通知
可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它。为了更新你之前发布的通知,你需要更新或者创建一个NotificationCompat.Builder对象,从之前的通知中创建一个Notification对象,然后发布它使用你之前使用的ID。如果之前的通知仍然可见,系统将直接更新通知的内容,如果之前的通知不可见了,一条新的通知将被创建。
下面的代码演示了更新,以反映已发生的事件数量的通知。 它叠加通知,显示的摘要:
(注意演示,通知数量会累积而且点击通知后通知栏消失)
这里我们不再演示点击按钮以及跳转页面的布局文件,直接上java实现代码:
- import android.app.Notification;
- import android.app.NotificationManager;
- import android.app.PendingIntent;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.BitmapFactory;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.app.NotificationCompat;
- import android.view.View;
- import android.widget.RemoteViews;
- public class MainActivity extends AppCompatActivity {
- private static final int NO_1 = 0x1;
- int num =1;//初始通知数量为1
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- //按钮点击事件(通知栏)
- public void show1(View v){
- NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
- builder.setSmallIcon(R.mipmap.ic_launcher);
- builder.setConten
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。