四大元件之BroadcastReceiver

2021-07-16 22:18:02 字數 2295 閱讀 7703

##四大元件之broadcastreceiver##

自定義廣播的傳送和接收

//自定義傳送廣播

intent intent=new intent();

intent.setaction("com.liubin.sendzdy");

sendbroadcast(intent);

//接收自定義廣播

//定義廣播接收者

public class zdyreceiver extends broadcastreceiver

} //在清單檔案中註冊廣播接收者

"

public class callreceiver extends broadcastreceiver 

} 在清單檔案中定義該廣播接收者接收的廣播型別

接收打**廣播需要許可權

即使廣播接收者的程序沒有啟動,當系統傳送的廣播可以被該接收者接收時,系統會自動啟動該接收者所在的程序
public void onreceive(context context, intent intent) 

}

系統建立廣播時,把簡訊存放到乙個陣列,然後把資料以pdus為key存入bundle,再把bundle存入intent

清單檔案中配置廣播接收者接收的廣播型別,注意要設定優先順序屬性,要保證優先順序高於簡訊應用,才可以實現攔截

新增許可權

4.0以後廣播接收者安裝以後必須手動啟動一次,否則不生效

4.0以後廣播接收者如果被手動關閉,就不會再啟動了

public class sdcardreceiver extends broadcastreceiver 

else if(action.equals("android.intent.action.media_unmounted"))

else if(action.equals("android.intent.action.media_removed"))

}}- 接收開機廣播,在廣播接收者中啟動勒索的activity

清單檔案中配置接收開機廣播

這裡寫**片

許可權

定義廣播接收者
@override

public void onreceive(context context, intent intent)

以上**還不能啟動mainactivity,因為廣播接收者的啟動,並不會建立任務棧,那麼沒有任務棧,就無法啟動activity

手動設定建立新任務棧的flag(注意廣播接收者的啟動不能建立任務棧,但可以在乙個activity中啟動另乙個activity)

it.setflags(intent.flag_activity_new_task);

廣播接收者的定義
public void onreceive(context context, intent intent) 

else if(action.equals("android.intent.action.package_replaced"))

else if(action.equals("android.intent.action.package_removed"))

}

這兩種廣播傳送很頻繁,但接收這兩種廣播的廣播接收著不需要一直生效,不需要接收時,應解除註冊。

註冊廣播接收者

//建立廣播接收者物件

receiver = new screenonoffreceiver();

//通過intentfilter物件指定廣播接收者接收什麼型別的廣播

intentfilter filter = new intentfilter();

filter.addaction(intent.action_screen_off);

filter.addaction(intent.action_screen_on);

//註冊廣播接收者

registerreceiver(receiver, filter);

解除註冊廣播接收者

unregisterreceiver(receiver);

//解除註冊之後,廣播接收者將失去作用

四大元件之BroadcastReceiver

一 什麼是broadcastreceiver 在元件之間傳播資料的一種機制,這些元件可以位於不同的程序中,起到程序間通訊的作用 動態註冊 廣播跟隨程式的生命週期 testbroadcastreceiver broadcastreceiver new testbroadcastreceiver int...

Android四大元件之Activity

activity 是用來向使用者展示ui的容器,可以將其看作android mvc模式中 controller。activity使用步驟 1 新建類整合自activity 2.重寫 oncreate,onstart ondestory 等方法 3.在清單檔案androidmainfest中為該act...

Android四大元件之 Activity元件

activity是android元件中最基本也是最為常見用的四大元件 activity,service服務,content provider內容提供者,broadcastreceiver廣播接收器 之一。activity是乙個應用程式元件,提供乙個螢幕,使用者可以用來互動為了完成某項任務。activ...