0
我有一个扩展对话框的类,它包含一个用于Pincode的Edittext,我已经注册了一个全局广播来接收短信并解析它,然后从消息中获得Pincode我再派本地广播用下面的代码当我收到短信时,本地广播接收器播出
Intent broadcast = new Intent();
broadcast.setAction(SMS_RECEIVED);
intent.putExtra(SMS_PIN_CODE,msgBody.substring(msgBody.length() - SMS_PIN_CODE_LENGTH));
mContext.sendBroadcast(broadcast);
,然后在我的对话框类我创建广播接收器收听(SMS_RECEIVED),并把价值到用户界面如下
private BroadcastReceiver mPinCodeReceived = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(mContext, "I'm Here", Toast.LENGTH_SHORT).show();
if (mPincodeEdittext != null) {
String pinCode = intent
.getStringExtra(BillingConstatnts.SMS_PIN_CODE);
mPincodeEdittext.setText(pinCode);
}
}
};
和我已经在onCreat上注册过这个广播对话框类
LocalBroadcastManager.getInstance(mContext).registerReceiver(mPinCodeReceived,new IntentFilter(SMS_RECEIVED));
现在我的本地广播的onReceive方法不叫问题的E法,所以任何人都可以请告诉我,如果什么问题吗?
不,我已经收到了短信和解析它,我要让是否显示它在我的课的,使用本地广播继承对话框的UI –
从的onCreate删除您的注册,并把它添加到的onResume什么。试试 –
我的班级延长Dialog类,它没有onResume方法 –