android notification

xinyao0 2011-10-14

前些天刚刚做一个项目的预演,要用到广播通知,一下是一些小的学习的心得:

显示声明一个类继承BroadcastReceiver,实现onReceive这个方法:

这你需要的地方启用广播:

Intentintent=newIntent();

intent.setAction('action1');

sendBroadcast(intent);

当然你可以用intent传递一些值在广播中获取这些值,之快就自己发挥了。

广播的启动还要注册,一般两种注册方式,这里是在AndroidManifest.xml中进行注册:

<receiverandroid:name=".broadcast.ReceiveBroadCast">

<intent-filter>

<actionandroid:name="action1">

</action>

</intent-filter>

</receiver>

注册的时候可以注册不同的action,用于启用广播时完成不同的操作,最后不要忘了配置权限:

<uses-permissionandroid:name="android.permission.INTERNET"/>

广播启动后要显示通知:

NotificationManagernotificationManager=(NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE);

//申明notification的对象

Notificationnotification=newNotification(R.drawable.icon,msg,System.currentTimeMillis());

notification.flags=Notification.FLAG_AUTO_CANCEL;

//构造intent对象

Intentintent=null;

intent=newIntent();

//这里可以点击通知跳转到你要的activity中

//cotext.startActivity();

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);

//使用pendingIntent对Intent进行包装

PendingIntentpendingIntent=PendingIntent.getActivity(context,id,intent,PendingIntent.FLAG_UPDATE_CURRENT);

//通知显示时,会伴随音乐

//notification.defaults=Notification.DEFAULT_SOUND;

//发送消息

notification.setLatestEventInfo(context,msg,mi.getMsg(),pendingIntent);

//通知该消息可以发布了

notificationManager.notify(id,notification);

相关推荐