導航:首頁 > 操作系統 > 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發送廣播相關的資料

熱點內容
php中括弧定義數組 瀏覽:600
php列印堆棧 瀏覽:514
華為adb命令行刷機 瀏覽:963
人像攝影pdf 瀏覽:755
解壓文件密碼怎樣重新設置手機 瀏覽:999
高考指南pdf 瀏覽:693
爬蟲python數據存儲 瀏覽:240
u盤怎麼取消加密 瀏覽:429
567除以98的簡便演算法 瀏覽:340
pdf手機如何解壓 瀏覽:15
python描述器 瀏覽:60
戰地聯盟3解壓密碼 瀏覽:805
s型命令 瀏覽:25
php年薪5年 瀏覽:71
如何上網上設個人加密賬戶 瀏覽:44
linux打開ssh服務 瀏覽:78
微信位置可以加密嗎 瀏覽:470
演算法蠻力法 瀏覽:438
隨機排練命令 瀏覽:147
python多進程並發 瀏覽:41