通常の通知を使用しないのはなぜですか。
電話を振動させたり、音を鳴らしたり、LEDの色を変更したりできるように構成できます(サポートされている場合).
通知を提供するために私がいつも使用している簡単な方法を次に示します。
注: バイブレーションを機能させるには、マニフェストに次を追加する必要があります。
<uses-permission android:name="android.permission.VIBRATE" >
メソッド:
public static void sendNotification(Context caller, Class<?> activityToLaunch, String title, String msg, int numberOfEvents,boolean sound, boolean flashLed, boolean vibrate,int iconID) {
NotificationManager notifier = (NotificationManager) caller.getSystemService(Context.NOTIFICATION_SERVICE);
final Notification notify = new Notification(iconID, "", System.currentTimeMillis());
notify.icon = iconID;
notify.tickerText = title;
notify.when = System.currentTimeMillis();
notify.number = numberOfEvents;
notify.flags |= Notification.FLAG_AUTO_CANCEL;
if (sound) notify.defaults |= Notification.DEFAULT_SOUND;
if (flashLed) {
// add lights
notify.flags |= Notification.FLAG_SHOW_LIGHTS;
notify.ledARGB = Color.CYAN;
notify.ledOnMS = 500;
notify.ledOffMS = 500;
}
if (vibrate) {
notify.vibrate = new long[] {100, 200, 300};
}
Intent toLaunch = new Intent(caller, activityToLaunch);
toLaunch.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
toLaunch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent intentBack = PendingIntent.getActivity(caller, number, toLaunch, 0);
notify.setLatestEventInfo(caller, title, msg, intentBack);
notifier.notify(number, notify);
number = number+1;
}