導航:首頁 > 操作系統 > androidservice發送廣播

androidservice發送廣播

發布時間:2022-07-12 13:34:31

android中service發送數據到activity更新UI

private class Wz_Recevier extends BroadcastReceiver {

@Override
public void onReceive(Context arg0, Intent intent/*修改*/) {
// TODO Auto-generated method stub
// Intent intent = new Intent();------去掉
String actionString = intent.getAction();
if (actionString.equals("com.ljq.activity.Service")) {
Bundle bundle = intent.getExtras();
String count = bundle.getString("count");
if (count != null) {
textView.setText(count);
} else {
textView.setText("完了!");
}
}

}
}

低級錯誤

② android app中的服務為什麼接收不到廣播

你用靜態的方式注冊廣播吧
什麼情況下都可以收到廣播了
如果你在service里動態注冊廣播,是不是你的service已經運行完了與你的廣播解除關系才收不到廣播呢?
那你在onStart里startservice,再發廣播不就行了.

③ android-Android廣播怎麼傳遞數據給Activity

一種是像樓主所說的,在Activity里注冊一個BroadcastReceiver,Service完成某個任務就可以發一個廣播,接收器收到廣播後通知activity做相應的操作。 另一種是,使用bindService來關聯Service和Application,應用.apk里的所有組件一般情況都運行在同一個進程中,所以不需要用到IPC,bindService成功後,Service的Client可以得到Service返回的一個iBinder引用,具體的參見Service的文檔及onBind的例子,這樣Service的引用就可以通過返回的iBinder對象得到,如 public class LocalService extends Service { // This is the object that receives interactions from clients. See // RemoteService for a more complete example. private final IBinder mBinder = new LocalBinder(); public class LocalBinder extends Binder { LocalService getService() { return LocalService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } } 之後Client通過這個iBinder對象得到Service對象引用之後,可以直接和Service通訊,比如讀取Service中的值或是調用Service的方法。

④ android中Activity發送廣播給Service

可以的。廣播的發送者將廣播發送到ActivityManagerService,ActivityManagerService接收到這個廣播以後,就會在自己的注冊中心查看有哪些廣播接收器訂閱了該廣播,然後把這個廣播逐一發送到這些廣播接收器中。

⑤ android的廣播和service有什麼區別啊

廣播的周期很短,你不能在廣播內做耗時操作,而服務卻能。廣播的作用是幫你傳遞一些通知,例如你寫了一個開機廣播,一旦手機開機,廣播就發一則通知告訴手機(你寫的程序),手機(你寫的程序,某個類,某句代碼)啟動服務,這個時候在服務裡面可以做你想做的耗時操作,例如去請求伺服器,載入數據。廣播和服務的區別就是廣播周期短,不能做耗時操作,服務是長時間連接,可以做耗時操作,例如用服務控制音樂的播放等。廣播需要注冊,有兩種方式,一個在配置文件裡面,一個是代碼注冊、服務是寫一個類繼承服務,然後在裡面寫你的操作,外圍實例化服務,去啟動服務。

⑥ android中service和receiver通信的問題,求指教

TestReceiver.java 中 activity 成員變數為 null,沒有賦值。

哥們你實在不行把它弄成 static 的,然後在 Activity 創建的時候初始化一下~
當然這樣代碼寫的就不敢恭維了……

如果你想讓 receiver 「通知」 Activity 執行 UI 操作,我覺得你是不是想要玩一下 MVC 啊?你可以把 Receiver 做成 Activity 的 內部類,然後使用 Java 代碼動態注冊 Receiver,這樣內部類直接可以操作外部類 Activity 的成員變數~

提示一下,如果想玩 MVC 的話建議使用 Handler 實現通知機制。

⑦ 簡述在android中如何發送廣播消息

1.發送廣播
Intent intent = new Intent(BroadcastAction);
Bundle bundle = new Bundle();
bundle.putString("***", SUCCESS);
bundle.putString("FullPathName", mFullPathName);
intent.putExtras(bundle);
sendBroadcast(intent);
2.在Activity中創建一個內部類MyBroadcastReceiver擴展BroadcastReceiver,並在其中實現onReceive方法。
3.在Activity中聲明一個MyBroadcastReceiver類型的成員變數,並注冊:
private MyBroadcastReceiver myBroadcastReceiver;
...
myBroadcastReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BroadcastAction);
registerReceiver(receiver, filter);
4.使用完後要記得釋放
unregisterReceiver(receiver);

註:1和2中的 BroadcastAction要是同一個Action

⑧ android 能在Service(服務)里發送廣播(Broadcast)嗎詳細介紹一下好嗎謝謝

可以
sendBroadcast這個方法是定義在ContextWrapper里的,而Service是繼承ContextWrapper的。
@Override
public void sendBroadcast(Intent intent) {
mBase.sendBroadcast(intent);
}

發送的時候直接調用
sendBroadcast(new Intent("com.marslei.send_broadcast_in_service"));

⑨ 安卓,activity上有兩個button,想要發送廣播給service,怎麼區分兩個廣播

廣播名字不要注冊一樣的名字啊,接收分開接收就行了。

閱讀全文

與androidservice發送廣播相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:577
python員工信息登記表 瀏覽:375
高中美術pdf 瀏覽:158
java實現排列 瀏覽:511
javavector的用法 瀏覽:979
osi實現加密的三層 瀏覽:230
大眾寶來原廠中控如何安裝app 瀏覽:911
linux內核根文件系統 瀏覽:240
3d的命令面板不見了 瀏覽:521
武漢理工大學伺服器ip地址 瀏覽:144
亞馬遜雲伺服器登錄 瀏覽:521
安卓手機如何進行文件處理 瀏覽:69
mysql執行系統命令 瀏覽:926
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:247
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348