我正在创建一个Android服务,该服务将在设备启动过程完成后开始运行。在我的服务中,我正在创建一个任务。这个任务将根据某些条件在任何时候启动或停止。我的意图是每当我启动我的任务时,我想在状态栏中显示一个图标,以便知道我的任务正在运行,就像打开蓝牙时会显示蓝牙图标一样。
private NotificationManager mNM;
private int NOTIFICATION = 10002; //Any unique number for this notification
private void showNotification() {
// In this sample, we'll use the same text for the ticker and the expanded notification
CharSequence text = getText(R.string.local_service_started);
// Set the icon, scrolling text and timestamp
Notification notification = new Notification(R.drawable.status_icon, text, System.currentTimeMillis());
// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class), 0);
// Set the info for the views that show in the notification panel.
notification.setLatestEventInfo(this, getText(R.string.local_service_label), text, contentIntent);
// Send the notification.
mNM.notify(NOTIFICATION, notification);
}
如果想要隐藏它,您可以简单地执行以下操作:
mNM.cancel(NOTIFICATION); //The same unique notification number.
以下是一些澄清:
R.drawable.status_icon
: 通知图标R.string.local_service_started
: 通知标题R.string.local_service_label
: 通知最新信息(副标题)MainActivity.class
: 用户点击通知时启动的活动(Activity)您可以使用自定义标题栏,例如带图像的自定义标题。
并检查偏好设置以启用或禁用您的服务,并设置自定义标题。但在此之前,请阅读:http://developer.android.com/guide/topics/ui/notifiers/notifications.html