當前位置:首頁 » 安卓系統 » android廣播監聽

android廣播監聽

發布時間: 2022-09-02 01:26:48

❶ 求助 關於Android廣播如何全局監聽

這個是onCreate裡面的代碼
// 注冊接收新消息的監聽廣播
msgReceiver = new NewMessageBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter(EMChatManager
.getInstance().getNewMessageBroadcastAction());
intentFilter.setPriority(3);
registerReceiver(msgReceiver, intentFilter);

下面是自己寫的廣播里的操作

private class NewMessageBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 注銷廣播
abortBroadcast();
// 消息id(每條消息都會生成唯一的一個id,目前是SDK生成)
String msgId = intent.getStringExtra("msgid");
EMMessage message = EMChatManager.getInstance().getMessage(msgId);
String news = ((TextMessageBody) message.getBody()).getMessage();
// 發送人id
String userId = intent.getStringExtra("from");

username = userId;
Info info = new Info();
info.setText(news);
info.setId(msgId);
info.setUserid(userId);
list.add(info);

}

}

❷ android靜態注冊監聽系統廣播,如何只讓本工程能夠使用

在自己的功能中加一個標記為,退出的時候設為false,然後在監聽廣播處理的地方判斷這個標記位,如果是false就不處理接收到的廣播。

這樣不就好了?其實幹嘛不直接用動態注冊呢?

❸ 在android中怎麼讓廣播長久地監聽服務

使用靜態廣播.這樣就會常駐系統.

❹ Android使用廣播監聽網路狀態變化 一直收到系統廣播

因為這個系統廣播在不停的發送,系統網路狀態在不停的變化。比如關閉,打開,掃描,正在連接,已連接等狀態。

❺ android開發怎麼監控來電並監聽

實現如下廣播,並且在AndroidManifest中進行注冊

public class PhoneReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
System.out.println("action"+intent.getAction());
//如果是去電
if(intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)){
String phoneNumber = intent
.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Log.d(TAG, "call OUT:" + phoneNumber);
}else{
//查了下android文檔,貌似沒有專門用於接收來電的action,所以,非去電即來電.
//如果我們想要監聽電話的撥打狀況,需要這么幾步 :
* 第一:獲取電話服務管理器TelephonyManager manager = this.getSystemService(TELEPHONY_SERVICE);
* 第二:通過TelephonyManager注冊我們要監聽的電話狀態改變事件。manager.listen(new MyPhoneStateListener(),
* PhoneStateListener.LISTEN_CALL_STATE);這里的PhoneStateListener.LISTEN_CALL_STATE就是我們想要
* 監聽的狀態改變事件,初次之外,還有很多其他事件哦。
* 第三步:通過extends PhoneStateListener來定製自己的規則。將其對象傳遞給第二步作為參數。
* 第四步:這一步很重要,那就是給應用添加許可權。android.permission.READ_PHONE_STATE

TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
tm.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
//設置一個監聽器
}
}
PhoneStateListener listener=new PhoneStateListener(){

@Override
public void onCallStateChanged(int state, String incomingNumber) {
//注意,方法必須寫在super方法後面,否則incomingNumber無法獲取到值。
super.onCallStateChanged(state, incomingNumber);
switch(state){
case TelephonyManager.CALL_STATE_IDLE:
System.out.println("掛斷");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
System.out.println("接聽");
break;
case TelephonyManager.CALL_STATE_RINGING:
System.out.println("響鈴:來電號碼"+incomingNumber);
//輸出來電號碼
break;
}
}

❻ 如何在application中設置廣播監聽

可以給application注冊一個ondestroy事件,即銷毀時觸發的事件。
在Android中,Activity有個棧,一個Activity結束掉,會回到上一個Activity,並不是退出應用程序。
Android中,退出應用程序的方式:
1.通過pid
int pid = android.os.Process.myPid(); //獲取當前應用程序的PID
android.os.Process.killProcess(pid); //殺死當前進程
這種方法退出應用,是會保留某些後進程,例如:Service,Notifications等。

2.通過ActivityManager
ActivityManager manager = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); //獲取應用程序管理器
manager.killBackgroundProcesses(getPackageName()); //強制結束當前應用程序
這種方式退出應用,會結束本應用程序的一切活動,因為本方法會根據應用程序的包名殺死所有進程包括Activity,Service,Notifications等。

❼ android 怎麼把廣播監聽轉變成c代碼

感覺這個需求有點違反常理,廣播監聽android 的java語言已經做的很好了,使用c語言還真不知道怎麼搞。

❽ android tf卡和u盤的廣播監聽是一樣的嗎

當然是不一樣的。

❾ android為什麼監聽不到應用覆蓋安裝的廣播

這里的廣播是指你app里的廣播還是手機系統的廣播。
如果是你自己手機的app的廣播,你是否有注冊監聽廣播。
如果是手機系統的廣播,因為以前所有的app開啟及運行,都以監聽手機開機廣播,後來開發商直接攔截,不讓app監聽手機開機等廣播。

熱點內容
怎麼算伺服器ip 發布:2025-01-12 08:59:19 瀏覽:854
安卓與ios哪個適合做主力機 發布:2025-01-12 08:54:11 瀏覽:340
微軟怎麼關閉配置更新 發布:2025-01-12 08:34:23 瀏覽:316
wifi的有限的訪問許可權 發布:2025-01-12 08:34:14 瀏覽:609
cftp文件重命名 發布:2025-01-12 08:33:27 瀏覽:881
https的加密演算法 發布:2025-01-12 08:19:15 瀏覽:653
資料庫交 發布:2025-01-12 08:09:06 瀏覽:472
一台剪輯電腦要什麼配置 發布:2025-01-12 07:50:16 瀏覽:12
android與java 發布:2025-01-12 07:50:12 瀏覽:498
列印機手機連接密碼是什麼 發布:2025-01-12 07:48:31 瀏覽:586