`
kiddsunhaibo1
  • 浏览: 97004 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

android notification

阅读更多
前些天刚刚做一个项目的预演,要用到广播通知,一下是一些小的学习的心得:
显示声明一个类继承BroadcastReceiver,实现onReceive这个方法:
这你需要的地方启用广播:
Intent intent = new Intent();
intent.setAction('action1');
sendBroadcast(intent);
当然你可以用intent传递一些值在广播中获取这些值,之快就自己发挥了。
广播的启动还要注册,一般两种注册方式,这里是在AndroidManifest.xml中进行注册:
<receiver android:name=".broadcast.ReceiveBroadCast">
           <intent-filter>
               <action android:name="action1">
               </action>
            </intent-filter>
</receiver>

注册的时候可以注册不同的action,用于启用广播时完成不同的操作,最后不要忘了配置权限:
<uses-permission android:name="android.permission.INTERNET" />

广播启动后要显示通知:
   NotificationManager notificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
        // 申明notification的对象
        Notification notification = new Notification(R.drawable.icon, msg, System.currentTimeMillis());
        notification.flags = Notification.FLAG_AUTO_CANCEL;
        // 构造intent对象
         Intent intent = null;
        intent = new Intent();
        //这里可以点击通知跳转到你要的activity中
           //cotext.startActivity();
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
        // 使用pendingIntent对Intent进行包装
        PendingIntent pendingIntent = 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);


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics