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

android發送廣播

發布時間:2022-03-14 23:29:25

android 如何給一個第三方的服務發送廣播

Intent intent = new Intent();
intent.setAction("com.android.qchat.ptt");
context.sendBroadCst(intent);

IntentFilter是你接收的時候設置的
//

⑵ android中Activity發送廣播給Service

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

⑶ 如何查看Android系統當前發送了什麼廣播

Android接收開機廣播,需要用到播廣播接收者BroadcastReceiver組件。具體代碼:在配置文件AndroidManifest.xml中向系統注冊receiver需要添加相應許可權在Receiver中就可以添加開機需要進行的操作{@OverridepublicvoidonReceive(Contextcontext,Intentintent){}}

⑷ android 開機後 發送的廣播有哪些

現在有應用A和應用B,我需要在A應用中啟動B應用中的某個Activity

實現:A應用中的Activity發送廣播,關鍵代碼如下:

String broadcastIntent = "com.example.android.notepad.NotesList";//自己自定義
Intent intent = new Intent(broadcastIntent);
this.sendBroadcast(intent);

B應用中需要一個BroadcastReceiver來接收廣播,取名TestReceiver繼承BroadcastReceiver重寫onReceive方法啟動一個activity,關鍵代碼如下:

if(intent.getAction().equals("com.example.android.notepad.NotesList")){
Intent noteList = new Intent(context,NotesList.class);
noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(noteList);
}

到這代碼就完成了,當然在AndroidManifest.xml中要對TestReceiver進行注冊,代碼如下:

<receiver android:name="TestReceiver">
<intent-filter>
<action android:name="com.example.android.notepad.NotesList"/>
</intent-filter>
</receiver>

這樣就完成了通過廣播啟動另一個應用Activity。

注意問題:Context中有一個startActivity方法,Activity繼承自Context,重載了startActivity方法。如果使用 Activity的startActivity方法,不會有任何限制,而如果使用Context的startActivity方法的話,就需要開啟一個新的task,解決辦法是,加一個flag,也就是這句noteList.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);的作用。如果不添加這句,就會報android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity,Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

分類: Android

⑸ android 怎樣收到系統發送的廣播

要注冊接受廣播的處理程序, 有兩種方式

  1. 在AndroidManifest.xml重注冊, 比如監聽系統的開機廣播和屏幕解鎖廣播
    <receiver android:name="com.bestjoy.app.common.update.BootCompletedReceiver" >
    <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter>
    </receiver>
    這樣, 一旦有定義的action發出來,BootCompletedReceiver的onReceive方法就會回調了,這樣的監聽,不需要你的app已經在運行。


2. 在程序中動態創建監聽器, 比如還是解鎖廣播,

在Activity的onCreate()中生成一個IntentFilter對象

IntentFilter filter=new IntentFilter();
//為IntentFilter添加一個Action
filter.addAction("android.intent.action.USER_PRESENT");
bootCompletedReceiver = newUserPresentReceiver();

registerReceiver(smsReceiver, filter);
在onDestroy的時候去注冊
unregisterReceiver(bootCompletedReceiver);
這樣的方式只有在Activity生命周期onCreate()-onDestroy()之間有效。

對於一些特俗的系統級別的廣播,即使你按照上面的任何一種方式做了, 也可能監聽不到, 這是android 系統做了保護了, 網上查一下就知道了。

⑹ 簡述在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 c++怎麼發送廣播

最大的可能是廣播沒有注冊

1)第一種不是常駐型廣播,也就是說廣播跟隨activity的生命周期。注意: 在activity結束前,移除廣播接收器。(代碼里注冊)
2)第二種是常駐型,也就是說當應用程序關閉後,如果有信息廣播來,程序也會被系統調用自動運行。(androidmanifest.xml注冊)

⑻ android怎麼發送特定廣播的

起一個線程,每發一個廣播後就sleep一分鍾,如此循環。(或者接受系統的timechanged這個廣播,這個廣播好像一分鍾發一次)。

Android 在發送廣播時的方法 sendBroadcast(Intent)。

①:Intent myIntent = new Intent();——【創建Intent對象】

②:myIntent.setAction(String)——【設置一般的要執行的動作。參數:動作一個動作的名稱,如ACTION_VIEW。應用程序的具體行動,應與供應商的包名作為前綴。】

③:myIntent.putExtra(String,Object)——【廣播中額外發送的數據,String為自定義key,Object表示多種數據類型】

④:sendBroadcast(myIntent);——【發送廣播】

接收廣播

Android在接收廣播的方法是注冊一個廣播接收器 registerReceiver(MyReceiver,IntentFilter)。

①:首先創建MyReceiver類(類名自定義) 繼承 BroadcastReceiver類。——【創建廣播接收器】

②:在MyReceiver中重寫public void onReceive(Context context, Intent intent)方法。這個方法在接收到廣播後觸發。——【重寫處理方法】

③:在Activity或者Service啟動時 onCreate()、onStartCommand()等方法中實例化 MyReceiver類——【啟動時實例化廣播接收器】

④:IntentFilter filter = new IntentFilter();——【創建IntentFilter對象 意圖過濾器】

⑤:filter.addAction(String);——【在過濾器中加入過濾條件,說明接收什麼廣播】

⑥:registerReceiver(cmdReceiver, filter);——【注冊廣播,參數為(廣播接收器,意圖過濾器)】

⑼ android adb 怎麼發送廣播

這個不是那麼簡單的。編寫C/C++和JAVA代碼,然後用Android 編譯成動態庫,最後用Eclipse或者ant安裝到手機。請去看看 安卓官方網站的開發介紹。

閱讀全文

與android發送廣播相關的資料

熱點內容
智能租房系統源碼 瀏覽:345
c編程軟體哪個好 瀏覽:673
程序員寫什麼代碼最好 瀏覽:979
大尺度電影名字 瀏覽:897
重生民國收母 瀏覽:723
男主當鴨子的韓劇電影 瀏覽:488
人乳奶水電影 瀏覽:211
台灣鏡花風月系列 瀏覽:551
主角叫江辰的重生小說 瀏覽:608
李采潭演的都是真的嗎 瀏覽:512
日本女人切腹大尺度電影 瀏覽:637
vr電影在哪看 瀏覽:86
法國四級電影有哪些 瀏覽:558
男主角叫林楓得到系統的小說 瀏覽:820
pdf列印白邊 瀏覽:612
重生異界收母收姨 瀏覽:801
韓國女同性戀影片 瀏覽:192
信念科幻電影 瀏覽:791
javaiocp 瀏覽:702
看免費大片網站 瀏覽:849