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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

有序廣播的知識運(yùn)用

2019-11-10 16:53:56
字體:
供稿:網(wǎng)友

版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。

之前練習(xí)的是無序廣播,這次實(shí)現(xiàn)有序廣播。

具體代碼實(shí)現(xiàn)如下(發(fā)送者):

public class MainActivity extends AppCompatActivity {

PRivate EditText et_main_content; private Intent intent;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_main_content = (EditText) findViewById(R.id.et_main_content);

intent = new Intent();//設(shè)置廣播的名字(設(shè)置Action)intent.setAction("com.example.android20_sender.1008");

}

public void send(View view){ String content=et_main_content.getText().toString();

//攜帶數(shù)據(jù)intent.putExtra("data",content);//發(fā)送廣播(無序廣播)//sendBroadcast(intent);//發(fā)送黏性廣播//sendStickyBroadcast(intent);//發(fā)送廣播(有序)sendOrderedBroadcast(intent,null);

} }

這里寫圖片描述

靜態(tài)廣播接受者 public class MyReceived01 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(“com.example.android20_sender.1008”.equals(intent.getAction())){ String data=intent.getStringExtra(“data”); Log.i(“test”,”01號接受者收到廣播了:”+data);

//改變內(nèi)容 Bundle bundle=new Bundle(); bundle.putString("content",data+"嗎?,騙你的"); setResultExtras(bundle); /*if("中獎了".equals(data)){ //取消廣播傳播 abortBroadcast(); }*/ }}

}

動態(tài)廣播注冊 public class MainActivity extends AppCompatActivity {

private MyReceived02 myReceived02;private IntentFilter intentFilter;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myReceived02 = new MyReceived02(); intentFilter = new IntentFilter(); intentFilter.addAction("com.example.android20_sender.1008"); //Integer.MAX_VALUE intentFilter.setPriority(998);}@Overrideprotected void onResume() { super.onResume(); //動態(tài)注冊廣播 registerReceiver(myReceived02,intentFilter);}@Overrideprotected void onDestroy() { super.onDestroy(); //注銷動態(tài)廣播 unregisterReceiver(myReceived02);}

}

動態(tài)廣播接受者 public class MyReceived02 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(“com.example.android20_sender.1008”.equals(intent.getAction())){ // String data=intent.getStringExtra(“data”); Bundle bundle=getResultExtras(true); String content=bundle.getString(“content”); Log.i(“test”,”02號接受者收到廣播了:”+content); } } }

廣播優(yōu)先級(priority)-1000~1000

系統(tǒng)廣播(短信SMS) 有序

這里寫圖片描述 這里寫圖片描述

自定義短信接受(清單文件配置) 這里寫圖片描述

自定義短信接受代碼實(shí)現(xiàn) public class MySMSReceived extends BroadcastReceiver {

private String body;@Overridepublic void onReceive(Context context, Intent intent) { if("android.provider.Telephony.SMS_RECEIVED".equals(intent.getAction())){ Log.i("test","有短信進(jìn)來了"); //獲取短信的內(nèi)容 Bundle bundle=intent.getExtras(); Object[] objects= (Object[]) bundle.get("pdus"); SmsMessage[] smsMessages=new SmsMessage[objects.length]; for (int i = 0; i < objects.length; i++) { smsMessages[i]=SmsMessage.createFromPdu((byte[])objects[i]); } for (SmsMessage message : smsMessages) { String address = message.getDisplayOriginatingAddress(); body = message.getDisplayMessageBody(); Log.i("test","發(fā)送人:"+ address); Log.i("test","內(nèi)容:"+ body); } if(body.contains("中獎了")){ //攔截 Log.i("test","攔截..."); abortBroadcast(); } }}

}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 石柱| 宾阳县| 双峰县| 涞水县| 万年县| 惠安县| 台州市| 祁门县| 新河县| 铜梁县| 邢台县| 垦利县| 越西县| 含山县| 仪陇县| 东乡族自治县| 博兴县| 海原县| 左云县| 浮山县| 上林县| 清新县| 冷水江市| 襄樊市| 五大连池市| 吉首市| 石楼县| 嘉鱼县| 故城县| 嘉黎县| 瑞昌市| 中西区| 石城县| 灵山县| 通榆县| 东安县| 郧西县| 筠连县| 邵东县| 定兴县| 佛山市|