今天我們來學習一下broadreceiver這個元件。我們首先來粗略地認識一下broadreceiver這個元件。也就是說,如果有誰向這個元件傳送訊息的話,那麼這個訊息就會被接受到。註冊broadreceiver有倆種方法,一種是靜態的註冊。也就是broadreceiver必須在androidmanifest.xml中進行註冊。但是我們也可以使用動態註冊的方法,所謂的動態註冊就是在androidmanifest.xml中不需要註冊broadreceiver這個元件。我們只需要在broadcastreceiver的乙個類中寫明乙個action就好了。這是要注意的。比如就像下面一樣就可以進行動態的註冊了。import android.content.broadcastreceiver;
import android.content.context;
import android.content.intent;
/*我們在寫
action
的時候,其實也是有一定的規則的,不是亂寫的。包名
+intent.action+
類名*/
public class myreceiver extends broadcastreceiver
@override
public void
onreceive(context context, intent intent)
}
下面要進行的是就是說明如何進行動態的註冊:
btnstart.setonclicklistener(new view.onclicklistener()}});btnstop.setonclicklistener(new view.onclicklistener()
}});
當然,我們註冊完成以後,如果要向這個廣播中傳送訊息的話,那麼傳送的方式和靜態的時候,又是不一樣的。
btnsendmsg.setonclicklistener(new view.onclicklistener()如果是靜態的的話,那麼註冊***和傳送廣播都是比較簡單的。});
intent i = new intent(mainactivity.this, myreceiver.class);i.putextra("data", "
傳送資料資訊
");sendbroadcast(i)
廣播也是有優先順序的。那麼如果要使優先順序高的廣播接收到訊息後,要阻止訊息向優先順序低的廣播進行傳播的話,應該怎麼做?先看一下androidmanifest.xml中的內容。
<?xml version=
"1.0"
encoding=
"utf-8"
?>
xmlns:
android
=""package=
>
android
:allowbackup=
"true"
android
:icon=
"@mipmap/ic_launcher"
android
:label=
android
:supportsrtl=
"true"
android
:theme=
>
android
:name=
".mainactivity"
android
:label=
android
:theme=
>
android
:name=
"android.intent.action.main"
/>
android
:name=
"android.intent.category.launcher"
/>
android
:name=
".myreceiver"
android
:enabled=
"true"
android
:exported=
"true"
>
android
:priority=
"10"
>
android
:name=
/>
android
:name=
".myreceiver1"
android
:enabled=
"true"
android
:exported=
"true"
>
android
:priority=
"8">
android
:name=
/>
那麼首先在傳送廣播的時候,必須使用有序廣播的方式,並且在優先順序較高的廣播接收到訊息以後,就必須使用阻止訊息的傳播,具體的**如下:
//有序廣播
intent intent = new intent(myreceiver.action);intent.putextra("data"
, "hello");
//sendbroadcast(intent);
//
如果是要阻止廣播向優先順序低的廣播進行傳播的話,那麼就需要使用有序廣播
//
也就是需要使用
sendorderedbroadcast(intent, null);
後面的乙個引數一般情況下,
//
都是設定為
null
的。//
sendorderedbroadcast(intent, null);
//阻止訊息向優先順序低的廣播傳播:
@overridepublic void
onreceive(context context, intent intent)
以上就是關於broadcastreceiver的全部的內容。
android之interpolator的用法詳解
acceleratedecelerateinterpolator 在動畫開始與結束的地方速率改變比較慢,在中間的時候加速 accelerateinterpolator 在動畫開始的地方速率改變比較慢,然後開始加速 anticipateinterpolator 開始的時候向後然後向前甩 anticip...
android之interpolator的用法詳解
android interpolator,經常和scorllercompat 配合使用,scrollercompat 是乙個控制滑動的類 interpolator 也可以通過 animation 的 setinterpolator 進行設定 interpolator 被用來修飾動畫效果,定義動畫的變...
Android之控制項
1.textview文字框的使用 新建乙個專案 model 選中到android 找到你新建的專案 res 移動到layout上新建乙個.xml檔案 片段內容如下 android layout width wrap content android layout height wrap content...