|
説明 |
受信対象のブロードキャストインテントを登録します。
登録後、対象のブロードキャストインテントを受信した場合、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);
|
|||||||||||||
|
関連項目 |
||||||||||||||