国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Adroid 廣播

2019-11-09 16:21:18
字體:
來源:轉載
供稿:網友

Adroid 廣播 分為有序和無序廣播 sendOrderBroadcast 、sendBroadcast。

無序廣播。 廣播發送方: 實例化一個Intent,用intent.setAction(設置廣播名字),并且攜帶要發送的 數據(intent.putExtra),然后用sendBroadcast(intent)發送廣播。

intent = new Intent(); //設置名字 intent.setAction("com.example.phonebroad.955"); } public void send(View view){ //獲取發送的內容 String date=mian_01.getText().toString(); intent.putExtra("data",date); sendBroadcast(intent); //粘性廣播 (也分為有序和無序 已過時,使用這個api需要權限android.Manifest.permission.BROADCAST_STICKY,粘性廣播的特點是Intent會一直保留到廣播事件結束,而這種廣播也沒有所謂的10秒限制,10秒限制是指普通的廣播如果onReceive方法執行時間太長,超過10秒的時候系統會將這個廣播置為可以干掉的candidate,一旦系統資源不夠的時候,就會干掉這個廣播而讓它不執行。)api需要權限:<uses-permission android:name="android.permission.BROADCAST_STICKY"></uses-permission><application //sendStickyBroadcast(intent); }

接收方: 需要配置廣播接受者: 1.在清單文件中配置(靜態廣播 )

<receiver android:name=".ReceviedActivity"> <intent-filter> <action android:name="com.example.phonebroad.955"></action> </intent-filter> </receiver> </application>public class ReceviedActivity extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //判斷你要接收的廣播的名字 if("com.example.phonebroad.955".equals(intent.getAction())){ //接收內容 String data=intent.getStringExtra("data"); Log.i("hhhhhh",data); } } 2.使用java 代碼(動態廣播 優先于靜態廣播接收)public class Recevied2 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if ("com.example.phonebroad.955".equals(intent.getAction())){ String data=intent.getStringExtra("data"); Log.i("hhhh2",data); } }}public class MainActivity extends AppCompatActivity { PRivate Recevied2 recevied2; private IntentFilter intentFilter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recevied2 = new Recevied2(); //意圖過濾器 intentFilter = new IntentFilter(); intentFilter.addAction("com.example.phonebroad.955"); }//恢復時注冊 @Override protected void onResume() { super.onResume(); registerReceiver(recevied2,intentFilter); }//銷毀時取消注冊 @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(recevied2); }}

系統廣播之監聽手機通話狀態事件

public class PhoneActivity extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if("android.intent.action.PHONE_STATE".equals(intent.getAction())){ //獲取電話號碼 String number=intent.getStringExtra("incoming_number"); Log.i("phone","大胡子:"+number); //電話管理者 TelephonyManager tm= (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); //來電狀態 int state=tm.getCallState(); //3個狀態 switch (state) { case TelephonyManager.CALL_STATE_RINGING: Log.i("test","響鈴"); break; case TelephonyManager.CALL_STATE_OFFHOOK: Log.i("test","接通"); break; case TelephonyManager.CALL_STATE_IDLE: Log.i("test","掛斷"); break; } } }}配置權限及廣播接受者<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <application android:allowBackup="true" android:icon="@m“合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。“


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通榆县| 四平市| 克拉玛依市| 晋宁县| 政和县| 苏尼特右旗| 特克斯县| 海城市| 寿阳县| 华池县| 清远市| 澜沧| 琼中| 逊克县| 定陶县| 临邑县| 玉门市| 湾仔区| 青神县| 衡南县| 喀喇| 左权县| 类乌齐县| 遵义县| 柘城县| 当涂县| 黄大仙区| 都昌县| 汉阴县| 嘉兴市| 河池市| 甘孜| 武安市| 平阳县| 葫芦岛市| 介休市| 哈尔滨市| 环江| 兴安盟| 临武县| 连南|