说明:
根据项目选择的基础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());