星期二, 3月 28, 2017

[ Android ] BroadcastReceiver 用法 (三) registerReceiver 註冊


接上著一篇用藍芽當例子
這裡要說如何用registerReceiver()來註冊,

registerReceiver(BroadcastReceiver receiver, IntentFilter filter)

這是registerReceiver()的定義,
第一個參數是實作的BroadcastReceiver class,
第二個是IntentFilter ,像在AndroidManifest.xml那裡一樣,

        <receiver android:name=".BluetoothReceiver">
            <intent-filter>
                <action android:name="android.bluetooth.device.action.FOUND" />
            </intent-filter>
        </receiver>

這段就是加在IntentFilter裡面,
代表receiver可以接收到的行為,

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(BluetoothDevice.ACTION_FOUND);

代表我要收到ACTION_FOUND這行為,
然後我再把receiver實體化,

BluetoothReceiver bReceiver = new BluetoothReceiver();

之後一起送去註冊就完成了。

registerReceiver(bReceiver, intentFilter);



SourceCode

Ref 1

沒有留言: