Android BroadcastReceiver注册

来源:互联网 发布:淘宝客怎么做巨打折 编辑:程序博客网 时间:2024/06/03 17:27

BroadcastReceiver的静态注册无法得到MainActivity的控件。

为了能够在BroadcastReceiver的类中使用MainActivity中的控件,则需要使用动态注册的方式来实现。


import android.content.BroadcastReceiver;//拦截广播消息import android.telephony.SmsMessage;//短消息public class MainActivity extends Activity {private ProgressDialog progressDialog;public EditText editText;private IntentFilter mFilter;public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";private BroadcastReceiver mReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context arg0, Intent intent) {String action = intent.getAction();if (SMS_RECEIVED_ACTION.equals(action)) {Bundle bundle = intent.getExtras();if (bundle != null) {}}}};@Overrideprotected void onResume() {super.onResume();mFilter = new IntentFilter();mFilter.addAction(SMS_RECEIVED_ACTION);this.registerReceiver(mReceiver, mFilter);}@Overrideprotected void onPause() {super.onPause();this.unregisterReceiver(mReceiver);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);editText = (EditText) findViewById(R.id.editText1);}}


0 0
原创粉丝点击