zoukankan      html  css  js  c++  java
  • 创建android Notification

    说明:
    根据项目选择的基础sdk,选择不同的创建Notification的方法
    1 在android sdk 3.0 之前直接通过 new Notification的方法直接创建通知对象

    2 在android sdk 3.0 是通过Notification.Builer的方法间接配置Notification的属性和创建Notification的功能

    3 在android sdk4.0以上 是通过android-support-v4.jar 包中的NotificationCompat.Builder类,进行配置创建Notification对象


    下面是一个实例,用NotificationCompat.Builder的方式创建Notification

    NotificationCompat.Builder mBuilder =
                    new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("My notification")
                    .setContentText("Hello World!");
            
            //Notification.Builder builder=new Notification.Builder(this);
             
            mBuilder.setAutoCancel(true);
            mBuilder.setLights(Color.BLUE, 500, 500);
            long[] pattern = {500,500,500,500,500,500};
            mBuilder.setVibrate(pattern);
            
            Uri sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.messagevoice);
            mBuilder.setSound(sound);
            //mBuilder.setSound(sound);
            // Creates an explicit intent for an Activity in your app
            Intent resultIntent = new Intent(this, MessageShowActivity.class);
    
            // The stack builder object will contain an artificial back stack for the
            // started Activity.
            // This ensures that navigating backward from the Activity leads out of
            // your application to the Home screen.
            TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
            // Adds the back stack for the Intent (but not the Intent itself)
            //stackBuilder.addParentStack(MessageShowActivity.class);
            // Adds the Intent that starts the Activity to the top of the stack
            stackBuilder.addNextIntent(resultIntent);
            PendingIntent resultPendingIntent =
                    PendingIntent.getActivity(this, 0, new Intent(this,MessageShowActivity.class), 0);
            
            mBuilder.setContentIntent(resultPendingIntent);
            NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            // mId allows you to update the notification later on.
            mNotificationManager.notify(12, mBuilder.build());
          
  • 相关阅读:
    DROP TABLE 恢复【一】
    Recover InnoDB dictionary
    Percona XtraDB Cluster
    主从复制延时判断
    Keepalived+MySQL实现高可用
    Performance Tuning MySQL
    Redis实现异步消息队列与延时队列
    Python多线程中的setDaemon
    Python实现远程控制单片机led状态
    【机器学习】朴素贝叶斯应用实例
  • 原文地址:https://www.cnblogs.com/macroxu-1982/p/3648509.html
Copyright © 2011-2022 走看看