zoukankan      html  css  js  c++  java
  • [置顶] android之Notification版本兼容性问题

             首先先来创建一个notification提示

    //概要
    String tickerText = context.getResources().getText(R.string.app_name).toString()+"发现新版本,建议您更新!";
    //标题
    String title = context.getResources().getText(R.string.app_name).toString()+"更新";
    //内容
    String content= "点击更新"+context.getResources().getText(R.string.app_name).toString();
    //logo
    int icon = R.drawable.logo;
    Notification notification = new Notification(icon, tickerText, System.currentTimeMillis());
    //打开一个service意图
    Intent updateinte = new Intent(context,UpdateService.class);
    //包装service意图
    PendingIntent pendingIntent = PendingIntent.getService(context, 0, updateinte, 0);
    notification.setLatestEventInfo(context, title, content, pendingIntent);
    notification.defaults = Notification.DEFAULT_SOUND;
    notification.flags = Notification.FLAG_AUTO_CANCEL;
    NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    manager.notify(101, notification);

           接下来的更新notification中,在4.0版本以后我们只需这样即可

    notification.setLatestEventInfo(context,"正在下载"+appName,"0%", null);
    //id相同为101表示更新提示
    manager.notify(101, notification);

             但是放到2.x版本中运行的时候就报错提示我们require contentIntent,所以我们需要不能将PendingIntent设置为null;需要设置一个空的intent给PendingIntent包装,再将PendingIntent设置给notification;

    Intent nullIntent = new Intent();
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, nullIntent, 0);
    // 下载失败
    notification.setLatestEventInfo(context,"正在下载"+appName,"0%", pendingIntent);
    manager.notify(101, notification);

           这样就可以搞定,Notification的详细应用可以查看我的博客 http://blog.csdn.net/caicongyang


  • 相关阅读:
    map,forEach,some,every,filter条件过滤的区别
    dangerouslySetInnerHTML空格不换行解决方案
    react项目里link语法报错Dangerous property 'dangerouslySetInnerHTML'
    如何判断两个数组是否相等相等
    react hooks的缺点(针对状态不同步和没有生命周期)
    面试聊啥
    Win10 PIN码是什么?如何设置?
    三个环形图(万一是n个呢)
    Chrome 离线加装扩展的新方法
    java安装
  • 原文地址:https://www.cnblogs.com/riskyer/p/3275429.html
Copyright © 2011-2022 走看看