Android 通知推送全收录

写了两个点击事件,不同的通知,常用的和自定义的。

   if(v.getId() == R.id.button1){
         //系统默认布局 
         Bitmap btm = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher);
         NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this).setSmallIcon(R.drawable.ic_launcher)
    .setContentTitle("5 new message")
    .setContentText("twain@android.com");
         
    mBuilder.setTicker("New message");//第一次提示消息的时候显示在通知栏上
    mBuilder.setNumber(12);
    mBuilder.setLargeIcon(btm);
    mBuilder.setAutoCancel(true);//自己维护通知的消失
        //使用默认提示音
    mBuilder.setDefaults(Notification.DEFAULT_ALL);
       //点击通知栏跳转的activity
    Intent resultIntent = new Intent(MainActivity.this,
    MainActivity.class);
    PendingIntent resultPendingIntent = PendingIntent.getActivity(
    MainActivity.this, 0, resultIntent,
    PendingIntent.FLAG_UPDATE_CURRENT);
   
    mBuilder.setContentIntent(resultPendingIntent);
   
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(0, mBuilder.build());
       }else if(v.getId() == R.id.button2){
       //自定义显示布局
           RemoteViews contentViews = new RemoteViews(getPackageName(),R.layout.custom_notification);
   //通过控件的Id设置属性
   contentViews.setImageViewResource(R.id.imageNo, R.drawable.ic_launcher);
   contentViews.setTextViewText(R.id.titleNo, "自定义通知标题");
   contentViews.setTextViewText(R.id.textNo, "自定义通知内容");
   //点击通知栏跳转的activity
   Intent intent = new Intent(MainActivity.this, MainActivity.class);
   PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent,
   PendingIntent.FLAG_CANCEL_CURRENT);
   
   NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
   MainActivity.this).setSmallIcon(R.drawable.ic_launcher)
   .setContentTitle("My notification")
   .setTicker("new message");
   //自动管理通知栏消息
   mBuilder.setAutoCancel(true);
   mBuilder.setContentIntent(pendingIntent);
   ///自定义布局
   mBuilder.setContent(contentViews);
   //使用默认提示音
   mBuilder.setDefaults(Notification.DEFAULT_ALL);
   NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
   mNotificationManager.notify(1, mBuilder.build());

       }


更详细的可以参考

1.一篇总结的文章

https://www.cnblogs.com/zhen-android/p/6603132.html

2.Android8.0的毛病

https://blog.csdn.net/rentee/article/details/78303532

3.对于通知属性配置忘记了的可以看这篇

https://blog.csdn.net/tiankongcheng6/article/details/78183377

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值