android 通知栏处理

变量初始化:

mIntent = new Intent(this, GinwaveIMusic.class); mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); mPendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0); //构造Notification对象 mNotification = new Notification(); mNotification.flags = Notification.FLAG_NO_CLEAR|Notification.FLAG_ONGOING_EVENT;; mNotification.icon = R.drawable.icon;
显示通知:

private void showNotification(){ mNotification.when = System.currentTimeMillis(); mNotification.tickerText = mPresentSong.Song_Title; initializeNotificationView( mPresentSong.Song_Title, mPresentSong.Song_Player + "-" + mPresentSong.Song_Album, R.drawable.icon); mNotification.contentIntent = mPendingIntent; //mNotification.setLatestEventInfo(this, mPresentSong.Song_Title, mPresentSong.Song_Player + "-" + mPresentSong.Song_Album, mPendingIntent); mNotificationManager.notify(0, mNotification); } private void initializeNotificationView(String title, String content, int notificationImage) { RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.notification); contentView.setImageViewResource(R.id.notification_image, notificationImage); contentView.setTextViewText(R.id.notification_text_tiele, title); contentView.setTextViewText(R.id.notification_text_content, content); mNotification.contentView = contentView; } 撤销通知:

private void dismissNotification(){ mNotificationManager.cancel(0); }
布局文件:

<?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="fill_parent" > <ImageView android:id="@+id/notification_image" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/notification_text_tiele" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/notification_text_content" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>效果截图:

android 通知栏处理