變數初始化:
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"><ImageViewandroid: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>
效果: