public void checkConnectionStatusNotification(String notificationText, Context context) { String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) context .getSystemService(ns); int icon = R.drawable.icon; // 通知图标 CharSequence tickerText = "S_Fbuner..通知"; // 状态栏显示的通知文本提示 long when = System.currentTimeMillis(); // 通知产生的时间,会在通知信息里显示 Notification notification = new Notification(icon, tickerText, when); notification.flags = Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中 notification.flags |= Notification.FLAG_AUTO_CANCEL; //在通知栏上点击此通知后自动清除此通知 notification.defaults |= Notification.DEFAULT_SOUND;// 通知的提示音 notification.defaults |= Notification.DEFAULT_VIBRATE; RemoteViews contentView = new RemoteViews(context.getPackageName(), R.layout.view); Log.d("sunfb", "当前通知的包名:" + context.getPackageName()); // 通知布局适配 自定义方式 contentView.setImageViewResource(R.id.image, R.drawable.icon); notification.contentView = contentView; // Intent notificationIntent = new Intent(context, LoginActivity.class); Intent notificationIntent = new Intent(); PendingIntent contentIntent = PendingIntent.getBroadcast(context, 0, notificationIntent, 0); notification.setLatestEventInfo(context, "S_Fbuner", notificationText, contentIntent); mNotificationManager.notify(0, notification); }
布局view.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:orientation="horizontal" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="10dp" /> <TextView android:id="@+id/text" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:textColor="@color/white" /> </LinearLayout>
注意如果你想要震动起效果就的添加震动的权限 <uses-permission android:name="android.permission.VIBRATE" />