説明 |
受信対象のブロードキャストインテントを登録します。
登録後、対象のブロードキャストインテントを受信した場合、BroadcastReceivedイベントが発生します。
|
|||||||||||||
呼出形式 |
intent1.AddBroadcastReceiver( intentFilter or action [, flag] )
|
|||||||||||||
戻り値 |
なし
|
|||||||||||||
引数 |
XmlDocument intentFilter
|
受信対象のブロードキャストインテントを絞り込むIntentFilterを指定します。 このIntentFilterには最低でも一つのaction タグが必要で、ここに受信対象のブロードキャストインテントのアクションを指定します。
例として、2種類のactionを受け付けるIntentFilterを登録するには下記のように記述します。 var intentFilter = new XmlDocument(); intentFilter << XML <<- <intent-filter xmlns:android="http://schemas.android.com/apk/res/android"> <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/> <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/> </intent-filter> ->>; Intent intent1; intent1.AddBroadcastReceiver(intentFilter); IntentFilterの記述方法につきましては AndroidManifest.xmlのintent-filterタグの記述方法(外部リンク)をご参照下さい。
|
||||||||||||
|
String action
|
受信対象のブロードキャストインテントのactionを指定します。 受信すべきactionが一つのみで、他のパラメータが不要な場合、intentFilter引数指定より簡易に指定可能です。
|
||||||||||||
|
integer flag
|
ブロードキャストレシーバーを他のアプリに公開するかどうか等のオプションを指定します。*1 この引数はAndroid 14以降のOSでのみ有効です。
以下の値が定義されています。
省略した場合はIntent.RECEIVER_EXPORTEDとなります。
|
||||||||||||
例外 |
FUNC-4 |
引数の値が不正です |
||||||||||||
|
EXTOBJ-27 |
IntentFilterの構築に失敗しました |
||||||||||||
|
EXTOBJ-30
|
BroadcastReceiverの追加に失敗しました
|
||||||||||||
使用例 |
Intent batteryChangedReceiver { /* バッテリ状態変化のブロードキャストインテントを受け取り、バッテリ残量と充電状態を表示します */ Function OnBroadcastReceived(e) { if(e.ReceivedIntent.Action == "android.intent.action.BATTERY_CHANGED") { var batteryStatus = ""; /* バッテリ残量を取得 */ var batteryScale = e.ReceivedIntent.GetExtra(Intent.TYPE_INT, "scale"); var batteryLevel = e.ReceivedIntent.GetExtra(Intent.TYPE_INT, "level"); if(batteryScale > 0) { var batteryPercent = int(batteryLevel / batteryScale * 100); batteryStatus += "バッテリ残量 : " + str(batteryPercent) + "%"; } else { batteryStatus += "バッテリ残量 : 不明"; } /* バッテリ充電状態を取得 */ var batteryPlugged = e.ReceivedIntent.GetExtra(Intent.TYPE_INT, "plugged"); if(batteryPlugged > 0) { batteryStatus += " (充電中)"; } else { batteryStatus += " (放電中)"; } /* 表示 */ //.Title = batteryStatus; } } } /* ブロードキャストインテントの受信対象を指定するIntentFilterを作成します */ var intentFilter = new XmlDocument(); intentFilter << XML <<- <intent-filter xmlns:android="http://schemas.android.com/apk/res/android"> <action android:name="android.intent.action.BATTERY_CHANGED"/> </intent-filter> ->>; /* ブロードキャストインテント受信を開始します */ batteryChangedReceiver.AddBroadcastReceiver(intentFilter); |
|||||||||||||
関連項目 |