Fields Summary |
---|
public static final int | DEFAULT_ALLUse all default values (where applicable). |
public static final int | DEFAULT_SOUNDUse the default notification sound. This will ignore any given
{@link #sound}. |
public static final int | DEFAULT_VIBRATEUse the default notification vibrate. This will ignore any given
{@link #vibrate}. |
public static final int | DEFAULT_LIGHTSUse the default notification lights. This will ignore the
{@link #FLAG_SHOW_LIGHTS} bit, and {@link #ledARGB}, {@link #ledOffMS}, or
{@link #ledOnMS}. |
public long | whenThe timestamp for the notification. The icons and expanded views
are sorted by this key. |
public int | iconThe resource id of a drawable to use as the icon in the status bar. |
public int | numberThe number of events that this notification represents. For example, if this is the
new mail notification, this would be the number of unread messages. This number is
be superimposed over the icon in the status bar. If the number is 0 or negative, it
is not shown in the status bar. |
public android.app.PendingIntent | contentIntentThe intent to execute when the expanded status entry is clicked. If
this is an activity, it must include the
{@link android.content.Intent#FLAG_ACTIVITY_NEW_TASK} flag, which requires
that you take care of task management as described in the Activities and Tasks
section of the Application
Fundamentals document. |
public android.app.PendingIntent | deleteIntentThe intent to execute when the status entry is deleted by the user
with the "Clear All Notifications" button. This probably shouldn't
be launching an activity since several of those will be sent at the
same time. |
public CharSequence | tickerTextText to scroll across the screen when this item is added to
the status bar. |
public android.widget.RemoteViews | contentViewThe view that shows when this notification is shown in the expanded status bar. |
public int | iconLevelIf the icon in the status bar is to have more than one level, you can set this. Otherwise,
leave it at its default value of 0. |
public android.net.Uri | soundThe sound to play.
To play the default notification sound, see {@link #defaults}.
|
public static final int | STREAM_DEFAULTUse this constant as the value for audioStreamType to request that
the default stream type for notifications be used. Currently the
default stream type is STREAM_RING. |
public int | audioStreamTypeThe audio stream type to use when playing the sound.
Should be one of the STREAM_ constants from
{@link android.media.AudioManager}. |
public long[] | vibrateThe pattern with which to vibrate. This pattern will repeat if {@link
#FLAG_INSISTENT} bit is set in the {@link #flags} field.
To vibrate the default pattern, see {@link #defaults}.
|
public int | ledARGBThe color of the led. The hardware will do its best approximation. |
public int | ledOnMSThe number of milliseconds for the LED to be on while it's flashing.
The hardware will do its best approximation. |
public int | ledOffMSThe number of milliseconds for the LED to be off while it's flashing.
The hardware will do its best approximation. |
public int | defaultsSpecifies which values should be taken from the defaults.
To set, OR the desired from {@link #DEFAULT_SOUND},
{@link #DEFAULT_VIBRATE}, {@link #DEFAULT_LIGHTS}. For all default
values, use {@link #DEFAULT_ALL}.
|
public static final int | FLAG_SHOW_LIGHTSBit to be bitwise-ored into the {@link #flags} field that should be
set if you want the LED on for this notification.
- To turn the LED off, pass 0 in the alpha channel for colorARGB
or 0 for both ledOnMS and ledOffMS.
- To turn the LED on, pass 1 for ledOnMS and 0 for ledOffMS.
- To flash the LED, pass the number of milliseconds that it should
be on and off to ledOnMS and ledOffMS.
Since hardware varies, you are not guaranteed that any of the values
you pass are honored exactly. Use the system defaults (TODO) if possible
because they will be set to values that work on any given hardware.
The alpha channel must be set for forward compatibility. |
public static final int | FLAG_ONGOING_EVENTBit to be bitwise-ored into the {@link #flags} field that should be
set if this notification is in reference to something that is ongoing,
like a phone call. It should not be set if this notification is in
reference to something that happened at a particular point in time,
like a missed phone call. |
public static final int | FLAG_INSISTENTBit to be bitwise-ored into the {@link #flags} field that if set,
the audio and vibration will be repeated until the notification is
cancelled.
NOTE: This notion will change when we have decided exactly
what the UI will be.
|
public static final int | FLAG_ONLY_ALERT_ONCEBit to be bitwise-ored into the {@link #flags} field that should be
set if you want the sound and/or vibration play each time the
notification is sent, even if it has not been canceled before that. |
public static final int | FLAG_AUTO_CANCELBit to be bitwise-ored into the {@link #flags} field that should be
set if the notification should be canceled when it is clicked by the
user. |
public static final int | FLAG_NO_CLEARBit to be bitwise-ored into the {@link #flags} field that should be
set if the notification should not be canceled when the user clicks
the Clear all button. |
public int | flags |
public static final Parcelable.Creator | CREATORParcelable.Creator that instantiates Notification objects |
Constructors Summary |
---|
public Notification()Constructs a Notification object with everything set to 0.
this.when = System.currentTimeMillis();
|
public Notification(android.content.Context context, int icon, CharSequence tickerText, long when, CharSequence contentTitle, CharSequence contentText, android.content.Intent contentIntent)
this.when = when;
this.icon = icon;
this.tickerText = tickerText;
setLatestEventInfo(context, contentTitle, contentText,
PendingIntent.getActivity(context, 0, contentIntent, 0));
|
public Notification(int icon, CharSequence tickerText, long when)Constructs a Notification object with the information needed to
have a status bar icon without the standard expanded view.
this.icon = icon;
this.tickerText = tickerText;
this.when = when;
|
public Notification(android.os.Parcel parcel)Unflatten the notification from a parcel.
int version = parcel.readInt();
when = parcel.readLong();
icon = parcel.readInt();
number = parcel.readInt();
if (parcel.readInt() != 0) {
contentIntent = PendingIntent.CREATOR.createFromParcel(parcel);
}
if (parcel.readInt() != 0) {
deleteIntent = PendingIntent.CREATOR.createFromParcel(parcel);
}
if (parcel.readInt() != 0) {
tickerText = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
}
if (parcel.readInt() != 0) {
contentView = RemoteViews.CREATOR.createFromParcel(parcel);
}
defaults = parcel.readInt();
flags = parcel.readInt();
if (parcel.readInt() != 0) {
sound = Uri.CREATOR.createFromParcel(parcel);
}
audioStreamType = parcel.readInt();
vibrate = parcel.createLongArray();
ledARGB = parcel.readInt();
ledOnMS = parcel.readInt();
ledOffMS = parcel.readInt();
iconLevel = parcel.readInt();
|
Methods Summary |
---|
public int | describeContents()
return 0;
|
public void | setLatestEventInfo(android.content.Context context, java.lang.CharSequence contentTitle, java.lang.CharSequence contentText, android.app.PendingIntent contentIntent)Sets the {@link #contentView} field to be a view with the standard "Latest Event"
layout.
Uses the {@link #icon} and {@link #when} fields to set the icon and time fields
in the view.
RemoteViews contentView = new RemoteViews(context.getPackageName(),
com.android.internal.R.layout.status_bar_latest_event_content);
if (this.icon != 0) {
contentView.setImageViewResource(com.android.internal.R.id.icon, this.icon);
}
if (contentTitle != null) {
contentView.setTextViewText(com.android.internal.R.id.title, contentTitle);
}
if (contentText != null) {
contentView.setTextViewText(com.android.internal.R.id.text, contentText);
}
if (this.when != 0) {
Date date = new Date(when);
CharSequence str =
DateUtils.isToday(when) ? DateFormat.getTimeFormat(context).format(date)
: DateFormat.getDateFormat(context).format(date);
contentView.setTextViewText(com.android.internal.R.id.time, str);
}
this.contentView = contentView;
this.contentIntent = contentIntent;
|
public java.lang.String | toString()
StringBuilder sb = new StringBuilder();
sb.append("Notification(vibrate=");
if (this.vibrate != null) {
int N = this.vibrate.length-1;
sb.append("[");
for (int i=0; i<N; i++) {
sb.append(this.vibrate[i]);
sb.append(',");
}
sb.append(this.vibrate[N]);
sb.append("]");
} else if ((this.defaults & DEFAULT_VIBRATE) != 0) {
sb.append("default");
} else {
sb.append("null");
}
sb.append(",sound=");
if (this.sound != null) {
sb.append(this.sound.toString());
} else if ((this.defaults & DEFAULT_SOUND) != 0) {
sb.append("default");
} else {
sb.append("null");
}
sb.append(",defaults=0x");
sb.append(Integer.toHexString(this.defaults));
sb.append(")");
return sb.toString();
|
public void | writeToParcel(android.os.Parcel parcel, int flags)Flatten this notification from a parcel.
parcel.writeInt(1);
parcel.writeLong(when);
parcel.writeInt(icon);
parcel.writeInt(number);
if (contentIntent != null) {
parcel.writeInt(1);
contentIntent.writeToParcel(parcel, 0);
} else {
parcel.writeInt(0);
}
if (deleteIntent != null) {
parcel.writeInt(1);
deleteIntent.writeToParcel(parcel, 0);
} else {
parcel.writeInt(0);
}
if (tickerText != null) {
parcel.writeInt(1);
TextUtils.writeToParcel(tickerText, parcel, flags);
} else {
parcel.writeInt(0);
}
if (contentView != null) {
parcel.writeInt(1);
contentView.writeToParcel(parcel, 0);
} else {
parcel.writeInt(0);
}
parcel.writeInt(defaults);
parcel.writeInt(this.flags);
if (sound != null) {
parcel.writeInt(1);
sound.writeToParcel(parcel, 0);
} else {
parcel.writeInt(0);
}
parcel.writeInt(audioStreamType);
parcel.writeLongArray(vibrate);
parcel.writeInt(ledARGB);
parcel.writeInt(ledOnMS);
parcel.writeInt(ledOffMS);
parcel.writeInt(iconLevel);
|