这篇文章主要给小白看的,大神沉默就好 很多小白都知道用广播,可是用的时候始终出现这样那样的问题,这篇博客很好的为大家解释了: 直接上代码:布局我就写了 一个Button 一个TextView
package com.example.demo; import android.os.Bundle; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { PRivate String ACTION = "action";// 广播的标识 private TextView tv; private Button bt; private MyBroadCastRecevir recevir; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iniView(); } private void iniView() { recevir = new MyBroadCastRecevir(); tv = (TextView) findViewById(R.id.change); bt = (Button) findViewById(R.id.button); bt.setOnClickListener(this); regs(); } /** * 点击事件 */ @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: // 发送广播 Intent i = new Intent(ACTION); // 传值 -->键值对 i.putExtra("value", "接受成功"); // 发送 sendBroadcast(i); break; default: break; } } /** * 广播的接受 * * @author Administrator * */ private class MyBroadCastRecevir extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String s = intent.getStringExtra("value"); tv.setText(s); } } // 销毁广播 @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unregisterReceiver(recevir); } // 动态注册 private void regs() { IntentFilter iFilter = new IntentFilter(ACTION); registerReceiver(recevir, iFilter); } }新闻热点
疑难解答