为什么下面的方法不行,Toast都显示不了了,注释掉Dialog的代码才可以显示Toast
如何将收到的信息内容用弹出框的形式显示出来?
public void onReceive(Context context, Intent intent) {
i=0;
Bundle bundle = intent.getExtras();
SmsMessage msg = null;
if (null != bundle) {
Object[] smsObj = (Object[]) bundle.get("pdus");
for (Object object : smsObj) {
msg = SmsMessage.createFromPdu((byte[]) object);
//在这里写自己的逻辑
String content = msg.getDisplayMessageBody();
info = SmsReadtoInfo(content);
if (msg.getOriginatingAddress().equals("10086")) {
//TODO
Toast.makeText(context, "aaa:"+info, Toast.LENGTH_LONG).show();
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Result");
builder.setMessage(message);
builder.setPositiveButton("OK", null);
AlertDialog dia = builder.create();
dia.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dia.setCanceledOnTouchOutside(true);
dia.show();
}
}
}
Android 如何将broadcast receiver中收到的短信用弹出框显示
答案:2 悬赏:0
解决时间 2021-04-21 14:14
- 提问者网友:白柏唇蜜
- 2021-04-21 02:02
最佳答案
- 二级知识专家网友:青灯壁纸妹
- 2021-04-21 02:58
后台弹出一个dialog需要声明一个权限
全部回答
- 1楼网友:荒唐后生
- 2021-04-21 04:27
在想后台弹出一个dialog需要声明一个权限
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯