刚刚接触android,想完成如下的功能,打开一个activity, 里面有一个TextView的控件,如果后台来一条或者多条短信,短信内容会显示在TextView的控件中,问题是后台短信的内容是怎么传到这个activity(已经启动了)中,显示到TextView中的。求指教。

解决方案 »

  1.   

    你在你的应用注册广播,然后当你收到一个短信的时候android系统自身的处理机制就会发送广播,而你就能接受到,不用你做任何处理,这是android底层完成的不用你处理你需要的仅仅是对短信的读取,怎么读取短信这个你就网上搜吧,一搜代码一大堆~~
      

  2.   

    1)Object[] pdus = (Object[])intent.getExtras().get("pdus");获得短信数据
    (2)byte[] pdu = (byte[])pdus[0];
    (3)SmsMessage message  = SmsMessage.createFromPdu(pdu);将字节数组封装为SmsMessage
    (4)String content = message.getMessageBody();获得短信内容
    (5)String date = new Date(message.getTimestampMillis()).toLocaleString();获得短信时间
    (6)String senderNumber = message.getOriginatingAddress();获得发送方号码
      

  3.   

    你就不能发个消息给你的activity
      

  4.   

    public class DisplayActivity extends Activity {protected void onCreate(Bundle savedInstanceState) {......... }
     
     public class SmsReceiver extends BroadcastReceiver//这样的框架可以吗?
     { 
        public void onReceive(Context context, Intent intent)
         {..............}
     }}