ノーティフィケーションの利用 (3/5)
作成:2011-10-10 10:37
更新:2011-10-10 10:37
更新:2011-10-10 10:37
■Notificationのプロパティ
ノーティフィケーション利用の最大のポイントは、もちろんNotificationクラスです。これは、インスタンスを作成し、各種のプロパティを設定してNotificationManagerに登録する、という流れになっていました。
先のサンプルでは、挙動に関するフラグ設定、アイコンといったものだけを指定しましたが、この他にもプロパティはいろいろと用意されています。重要なものについてここで整理しておきましょう。
flagプロパティ
先ほどはサラっと流しましたが、これはint値のプロパティで、あらかじめ用意されているクラスフィールドを使って値を指定します。以下のようなものが用意されています。
FLAG_AUTO_CANCEL――自動的にキャンセルされる
FLAG_NOCLEAR――選んでも消えない
FLAG_FOREGROUND――フォアグラウンドで機能する
FLAG_INSISTENT――サウンドなどを繰り返し強調する
FLAG_ONGOING_EVENT――On Going(実行中)の中にグループ化する
FLAG_ONLY_ALERT_ONCE――サウンドやバイブレーションなどは1度だけ
FLAG_SHOW_LIGHTS――デフォルトのライト使用
FLAG_HIGH_PRIORITY――ハイプライオリティ(高優先度で)
tickerTextプロパティ
ステータスバーに右から左に流れるメッセージ(ティッカーテキスト)を設定するものです。表示させるメッセージのテキストを指定します。
ledARGBプロパティ
LED点灯時の色を指定するためのものです。ノーティフィケーションが表示されるとき、LEDを指定の色で点灯させます。値は、ARGB各輝度を16進数で指定します。例えば、「0xffff0000」と値を指定すれば赤になります。これは、flagにFLAG_SHOW_LIGHTSが設定されていないと表示されないので注意してください。
ledOnMS/ledOffMSプロパティ
LEDの点滅時間を指定するものです。ledOnMSは点灯している時間、ledOffMSは消えている時間を指定するもので、いずれもミリ秒換算の整数で指定します。これもflagにFLAG_SHOW_LIGHTSが設定されている必要があります。
soundプロパティ
ノーティフィケーションを表示する際に再生するサウンドを指定するものです。これは、再生するサウンドファイルのパスを指定したUriインスタンスで設定をします。デフォルトの警告音をそのまま鳴らすなら、android.provider.Settings.System.DEFAULT_NOTIFICATION_URIを指定します。
vibrateプロパティ
バイブレーションの指定を行うものです。これは、OFFとONの時間をミリ秒で表したint配列を用意し設定します。また、バイブレーションを利用するためには、AndroidManifest.xmlの<manifest>タグの中に、以下のタグを追記します。
これらのプロパティを使うことで、LEDやバイブレーション、サウンドなどをノーティフィケーションで利用することができます。下に、簡単な利用例を挙げておきました。これで緑色でLEDを点滅させることができるはずです。
先のサンプルでは、挙動に関するフラグ設定、アイコンといったものだけを指定しましたが、この他にもプロパティはいろいろと用意されています。重要なものについてここで整理しておきましょう。
flagプロパティ
先ほどはサラっと流しましたが、これはint値のプロパティで、あらかじめ用意されているクラスフィールドを使って値を指定します。以下のようなものが用意されています。
FLAG_AUTO_CANCEL――自動的にキャンセルされる
FLAG_NOCLEAR――選んでも消えない
FLAG_FOREGROUND――フォアグラウンドで機能する
FLAG_INSISTENT――サウンドなどを繰り返し強調する
FLAG_ONGOING_EVENT――On Going(実行中)の中にグループ化する
FLAG_ONLY_ALERT_ONCE――サウンドやバイブレーションなどは1度だけ
FLAG_SHOW_LIGHTS――デフォルトのライト使用
FLAG_HIGH_PRIORITY――ハイプライオリティ(高優先度で)
tickerTextプロパティ
ステータスバーに右から左に流れるメッセージ(ティッカーテキスト)を設定するものです。表示させるメッセージのテキストを指定します。
ledARGBプロパティ
LED点灯時の色を指定するためのものです。ノーティフィケーションが表示されるとき、LEDを指定の色で点灯させます。値は、ARGB各輝度を16進数で指定します。例えば、「0xffff0000」と値を指定すれば赤になります。これは、flagにFLAG_SHOW_LIGHTSが設定されていないと表示されないので注意してください。
ledOnMS/ledOffMSプロパティ
LEDの点滅時間を指定するものです。ledOnMSは点灯している時間、ledOffMSは消えている時間を指定するもので、いずれもミリ秒換算の整数で指定します。これもflagにFLAG_SHOW_LIGHTSが設定されている必要があります。
soundプロパティ
ノーティフィケーションを表示する際に再生するサウンドを指定するものです。これは、再生するサウンドファイルのパスを指定したUriインスタンスで設定をします。デフォルトの警告音をそのまま鳴らすなら、android.provider.Settings.System.DEFAULT_NOTIFICATION_URIを指定します。
vibrateプロパティ
バイブレーションの指定を行うものです。これは、OFFとONの時間をミリ秒で表したint配列を用意し設定します。また、バイブレーションを利用するためには、AndroidManifest.xmlの<manifest>タグの中に、以下のタグを追記します。
<uses-permission android:name="android.permission.VIBRATE" />
これらのプロパティを使うことで、LEDやバイブレーション、サウンドなどをノーティフィケーションで利用することができます。下に、簡単な利用例を挙げておきました。これで緑色でLEDを点滅させることができるはずです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
public void doAction(View view){ Intent intent = new Intent(this,jp.tuyano.sample.MySampleActivity.class); PendingIntent pending = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); Notification notify = new Notification(); notify.flags = Notification.FLAG_AUTO_CANCEL; notify.icon = R.drawable.icon; notify.ledARGB = 0xff00ff00; notify.ledOnMS = 500; notify.ledOffMS = 500; notify.setLatestEventInfo(this, "TEST INFO", "テストのノーティフィケーションです。", pending); NotificationManager manager = (NotificationManager)this. getSystemService(Activity.NOTIFICATION_SERVICE); manager.notify(0, notify); }
※関連コンテンツ