zoukankan      html  css  js  c++  java
  • Notification的使用

    一、在LV16以前的用法

    public class MainActivity extends Activity {
    
      private NotificationManager notificationManager;
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
      }
    
      
      
      public void test1(View v){
        //Toast.makeText(this, "点击我了", Toast.LENGTH_LONG).show();
        showNotification("来短信了", "5554", "I love you", R.drawable.ic_launcher, R.drawable.ic_launcher);
        
      }
      
      
      public void showNotification(String tickerText,String contentTitle,String contentText,int iconId,int notiId){
        //2步创建一个Notification
        Notification notification = new Notification();
        //设置通知 消息  图标
        notification.icon=iconId;
        //设置发出消息的内容   这个指的是刚推送出的内容
        notification.tickerText=tickerText;
        //设置发出通知的时间
        notification.when=System.currentTimeMillis();
        
        //设置显示通知时的默认的发声、振动、Light效果
        notification.defaults = Notification.DEFAULT_VIBRATE;//振动
        
        //Notification notification = new Notification(R.drawable.ic_launcher, "有新的消息", System.currentTimeMillis());
        
        //3步:PendingIntent  android系统负责维护
        
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, getIntent(), 0);
        
        //4步:设置更加详细的信息
        notification.setLatestEventInfo(this, contentTitle, contentText, pendingIntent);
        
        //5步:使用notificationManager对象的notify方法 显示Notification消息   需要制定 Notification的标识
        notificationManager.notify(notiId, notification);
        
     
      }
      
      
      public void clearNoti(View v){
        notificationManager.cancel(notiId);//清除具体的Notifaction
        notificationManager.cancelAll();//清除所有
      }
    
    }
    View Code

    二、在LV16以后的用法

    //设置Intent跳转
    Intent intent = new Intent(this,OtherActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
            //利用Notification.Builder创建Notification
            Notification.Builder notification = new Notification.Builder(this);
            notification.setAutoCancel(true);
            notification.setSmallIcon(R.mipmap.ic_launcher);
            notification.setContentTitle("Hello World");
            notification.setContentText("I am a ET");
            notification.setContentIntent(pendingIntent);
            //创建Notification
            Notification notification1 = notification.build();
            //获取Notification管理器
            NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            //执行
            manager.notify(0,notification1)
    View Code
  • 相关阅读:
    游戏开发人员眼中的Unity 3D网页游戏測评报告
    MQTT---HiveMQ源代码具体解释(八)Netty-WebSocket
    RGB 与 (RGB转 YCbCr再转为 RGB)的图像
    Shader的语法
    10种软件开发中 over-engineering 的错误套路
    LeetCode——Min Stack
    nyist 82迷宫寻宝(一)(BFS)
    云计算生态系统
    Linux 查看CPU信息、机器型号等硬件信息
    学习新技术的10个建议
  • 原文地址:https://www.cnblogs.com/rookiechen/p/5427230.html
Copyright © 2011-2022 走看看