【學習筆記】BroadcastReceiver的運用

1、Activity與BroadcastReceiver通訊ide

1)新建一個BroadcastReceiver,在MainActivity裏經過sendBroadcast方法發送數據
xml

wKiom1gQVq_An8z3AAAUzJCb3Zw209.png

2)在MyReceiver類中重寫onReceive方法,用參數intent接收數據對象

wKioL1gQVvOjv1zLAAAR6PzzKQE783.png

2、BroadcastReceiver註冊和註銷blog

1)先在MyReceiver類中定義一個ACTION常量
get

wKioL1gQWrOyE7q2AAANaAo-_L8021.png

2)在MainActivity中建立Intent實例,此時就不能用顯示的方法建立了,要用隱示的方法經過ACTION的值來實例化it

wKiom1gQXEiD2l3eAAAG_xODWk4001.png

3)在MainActivity中定義一個MyReceiver的對象,初始化爲null。在用registerReceiver方法時要確保MyReceiver的對象爲空,在用unregisterReceiver方法時確保MyReceiver對象不爲空
io

wKiom1gQW8GztY1dAABixTxlcZk394.png


3、BroadcastReceiver優先級ast

當有多個廣播接收器的時候,他們的ACTION一致,想設置誰先收到就能夠在AndroidManifest.xml文件中的intent-filter中添加priority,數字高的先接收class

wKiom1gQYE-yrMVJAABYDbc9tVo040.png

當優先級高的接收到了想阻止後面的廣播接收器接收的話,就須要在相應的接收器裏用abortBroadcast方法中止廣播,但阻止的話在MainActivity裏發送廣播的方法就不能用sendBroadcast了,否則會出現異常,要用sendOrderedBroadcast方法方法

sendOrderedBroadcast(i,null);

wKiom1gQYRGjlD7cAAATuSaEVXM682.png

相關文章
相關標籤/搜索