import android.app.Notification; import android.app.NotificationManager; import android.graphics.BitmapFactory; import android.app.PendingIntent; // 定义一个PendingIntent,点击Notification后,启动一个Activity。 Intent it = new Intent(this, LoginActivity.class); PendingIntent pit = PendingIntent.getActivity(this, 0, it, 0); // 创建通知栏管理工具 NotificationManager mNManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // 实例化通知栏构造器 Notification.Builder mBuilder = new Notification.Builder(this); // 设置Builder // 设置标题 mBuilder.setContentTitle("我是标题") // 设置内容 .setContentText("我是内容") // 设置大图标 .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)) // 设置小图标 .setSmallIcon(R.mipmap.ic_launcher_round) // 设置通知时间 .setWhen(System.currentTimeMillis()) // 设置通知方式:声音、震动、呼吸灯等效果。这里通知方式为声音。 .setDefaults(Notification.DEFAULT_SOUND) // 设置点击后取消Notification .setAutoCancel(true) // 设置PendingIntent .setContentIntent(pit); // 发送通知请求 mNManager.notify(1000, mBuilder.build()); // 根据ID取消Notification //mNManager.cancel(1000);
如果在Fragment里使用,需要适当调整。
// 定义一个PendingIntent,点击Notification后,启动一个Activity。 Intent it = new Intent(getActivity(), LoginActivity.class); PendingIntent pit = PendingIntent.getActivity(getActivity(), 0, it, 0); // 创建通知栏管理工具 NotificationManager mNManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE); // 实例化通知栏构造器 Notification.Builder mBuilder = new Notification.Builder(getActivity()); // 设置Builder // 设置标题 mBuilder.setContentTitle("我是标题") // 设置内容 .setContentText("我是内容") // 设置大图标 .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)) // 设置小图标 .setSmallIcon(R.mipmap.ic_launcher_round) // 设置通知时间 .setWhen(System.currentTimeMillis()) // 设置通知方式:声音、震动、呼吸灯等效果。这里通知方式为声音。 .setDefaults(Notification.DEFAULT_SOUND) // 设置点击后取消Notification .setAutoCancel(true) // 设置PendingIntent .setContentIntent(pit); // 发送通知请求 mNManager.notify(1000, mBuilder.build()); // 根据ID取消Notification //mNManager.cancel(1000);