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());
          
  • 相关阅读:
    PCLVisualizer可视化类
    【Leetcode】课程表(拓扑排序)
    不是充许的静态以太网地址,它与vmware保留的mac地址冲突
    vmware虚拟机linux添加硬盘后先分区再格式化操作方法
    卸载mysql时,提示libmysqlclient.so.16()(64bit) is needed by (installed) postfix
    创建mysql数据库,在新数据库中创建表,再尝试删除表
    忘记linux下的mysql密码,需要重新创建密码123456
    创建mysql表
    程序员的冷笑话 python版本
    python的__mro__与__slot__
  • 原文地址:https://www.cnblogs.com/macroxu-1982/p/3648509.html
Copyright © 2011-2022 走看看