s39014971 2016-03-16 01:09 采纳率: 50%
浏览 2495

一个可以读取短信的app为什么收到短信之后没有效果

public class MainActivity extends Activity {
private TextView sender;
private TextView content;
private IntentFilter receiveFilter;
private MessageReceiver messageReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sender=(TextView)findViewById(R.id.sender);
content=(TextView)findViewById(R.id.content);
receiveFilter=new IntentFilter();
receiveFilter.addAction("android.provider.Telephony.SMS_RECEIVED");
messageReceiver=new MessageReceiver();
registerReceiver(messageReceiver,receiveFilter);
}
class MessageReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        Bundle bundle=intent.getExtras();//从intent中取出一个bundle对象
        Object[] pdus=(Object[])bundle.get("pdus");
        //提取短信消息使用pdus密钥提取一个SMS pdus数组;
        SmsMessage[] messages=new SmsMessage[pdus.length];

        //将每一字节数组转换为SmsMessage对象

        for(int i=0;i<messages.length;i++)
        {
            messages[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
        }
        String address=messages[0].getOriginatingAddress();
        //调用message对象的getOriginatingAddress()方法
        //获取发送方号码;
        String fullMessage=" ";
        for(SmsMessage message: messages)
        {
            fullMessage+=message.getMessageBody();//获取短信内容将短信内容拼接起来
        }
        sender.setText(address);//显示在TextView上
        content.setText(fullMessage);
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    unregisterReceiver(messageReceiver);
}

}

使用广播接收器接收广播来读取短信的内容显示在Textview里为什么程序没有效果

  • 写回答

6条回答 默认 最新

  • 简一_hz 2016-03-16 01:20
    关注

    自己打断点调试下看看吧

    评论

报告相同问题?

悬赏问题

  • ¥20 C# TCP服务端,客户端退出后,不断有数据进来
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?