android 同时发送几条通知

 android 同时发送几条通知

=======

下面是转载的文章。

 同时发送几条通知把ID添加,接收的时候找到这个id就可以出来多条了。

还是不太明白或者编码实现不了的可以加我QQ。

博客很少上了。

========

注意通知中PendingIntent.getActivity(Context context,
int requestCode,
Intent intent, int flags)这几个参数:

context The Context in which this PendingIntent should start the activity.
requestCode    Private request code for the sender (currently not used).
intents Array of Intents of the activities to be launched.
flags May be FLAG_ONE_SHOTFLAG_NO_CREATEFLAG_CANCEL_CURRENTFLAG_UPDATE_CURRENT,
or any of the flags as supported by Intent.fillIn() to
control which unspecified parts of the intent that can be supplied when the actual send happens.

google API中介绍requestCode中说明是当前未使用,一般都会赋值为0,但是当你发送多个通知,且每个通知都包含Extras时,这个就有用了。这个值可以用来标识不同通知中的Intent,主要是结合后面的flags来使用,比如,发送两个通知,id分别是1和2,当第二次发送1、2的通知时,需要更新前一次通知中的intent内容,如果不用requestCode来标识一下,则默认用最后一次发的通知覆盖前几次的通知intent。

正确是使用方法是:PendingIntent.getActivity(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);  requestCode来标识不同通知,flags中的PendingIntent.FLAG_UPDATE_CURRENT用来使用后面通知更新前面通知,使用这个flag要注意,intent一定不能为null,否则会报空指针错误。

另外,当我们把Activity 启动模式设置为 singleTask 之后 当我们下次 再去 用Intent 启动 这个 Activity 的时候 就不会去调用 onCreate方法 也不能在onRestart()方法中取,而是去调用onNewIntent()方法
然后把Intent中的数据传给它;

<activityandroid:name="TestActivity"

android:launchMode="singleTask"/>      示例:

       @Override
  protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);

int hasMsgNotifyFlag = 0;
if(intent!=null){
Bundle bundle = intent.getExtras();
if(bundle!=null){
hasMsgNotifyFlag = bundle.getInt("id");
}
Log.i( "main tab msg=>", hasMsgNotifyFlag + "");
}
}

 

/** 
   * 添加一个notification 
   */  
  public void addNotification(Context context, int id, boolean flag){  
      NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);  
      Notification notification = new Notification(R.drawable.icon, "hello,here", System.currentTimeMillis());  
      notification.flags = Notification.FLAG_AUTO_CANCEL; 
      Intent intent = new Intent(context, TestActivity.class);  
      Bundle bundle = new Bundle();
      bundle.putInt("id", id);
      intent.putExtras(bundle);
      PendingIntent contentIntent = PendingIntent.getActivity(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);  
      notification.setLatestEventInfo(context, "有新消息", id + "", contentIntent);  
      nm.notify(id, notification);  
  } 

时间: 2024-09-13 20:51:25

android 同时发送几条通知的相关文章

android-求教:Android socket通信,发送多条,下面是代码

问题描述 求教:Android socket通信,发送多条,下面是代码 个人写了一个Android Socket的简单通信代码,就是客户端往服务端发送两条数据,但是服务端在接收第二条数据的时候提示socket已关闭连接 客户端代码: Socket socket = new Socket("192.168.56.1", 8888); DataOutputStream dos=new DataOutputStream(socket.getOutputStream()); dos.write

代码-android中发送验证码,才开始学的,求大神解答。

问题描述 android中发送验证码,才开始学的,求大神解答. 这个现在还没有数据库,只是我学习用的,点发送验证码,后面会提示多少秒后重新获取验证码,求大神给段代码. 解决方案 MyCoun myCoun = new MyCoun(60000 1000); /** * 倒计时定时器 * * @author 1 * */ public class MyCoun extends CountDownTimer { public MyCoun(long millisInFuture long count

从.net项目(Windows Service)向Android手机发送推送消息

最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS,Android,Windows Phone等设备消息,大喜,然后先做了IOS的,成功了,但是做Android的时候遇到了问题,一直推送不成功,程序执行了,但是推送一直出不来,后来费劲的在网上搜,没有找到,最后放弃使用这种推送Android,另寻出路,随后找到了一种C2DM云端推送功能,但是问题又出

Android种使用Notification实现通知管理以及自定义通知栏实例(示例四)_Android

示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我们的通知栏仅仅是更改传来短信的数目,而不是对每条短信单独做一个通知栏用于提示. 修改通知 可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它.为了更新你之前发布的通知,你需要更新或者创建

Android实现发送短信功能实例详解

本文实例分析了Android实现发送短信功能的方法.分享给大家供大家参考,具体如下: 短信和打电话一样,都是android手机的基本功能,下面以实例说明android如何实现发送短信的功能. 程序如下所示: import java.util.regex.Matcher; import java.util.regex.Pattern; import android.app.Activity; import android.app.PendingIntent; import android.cont

Android实现带进度条的WebView

如果不使用系统自带的TitleBar(即Activity被设置@android:style/Theme.NoTitleBar),那就需要自己来写进度条了,这里封装了一个自定义控件和加载网页的公共Activity,方便使用. 一.截图 二.自定义控件 /** * 带进度条的WebView * @author 农民伯伯 * @see http://www.cnblogs.com/over140/archive/2013/03/07/2947721.html * */ @SuppressWarning

android 进度条更新-Android关于下载进度条更新问题

问题描述 Android关于下载进度条更新问题 @Override protected Bitmap doInBackground(String... params) { Bitmap bitmap=null; ByteArrayOutputStream outputStream=new ByteArrayOutputStream(); InputStream inputStream=null; try { HttpClient httpClient=new DefaultHttpClient(

关于android的发送带附件的邮箱问题,跪求高手答疑

问题描述 关于android的发送带附件的邮箱问题,跪求高手答疑 是这样的,已经获取了文件所在的位置,例如"/sdcard/a.doc"这个位置, file是要如何定义这个地址的位置? 下面的是我网上找到的代码,file里面的参数是什么含义?Intent email = new Intent(android.content.Intent.ACTION_SEND); // 附件 File file = new File(Environment.getExternalStorageDire

在android不显示进度条对话框的问题

问题描述 在android不显示进度条对话框的问题 进度条对话框在Android程序中显示不出来,我找不出问题的原因.使用了如下代码来显示进度条对话框: func{ progressdialog.show(); .... ..... anotherfunction(); listview.setAdapter(); progressdialog.dismiss(); } 当.show() 命令执行以后,进度条对话框就会显示.但是当otherfucntion()方法被调用后,之前显示的进度条对话框