【问题标题】:get instance in BroadCastReceiver class for receive sms in android?在BroadCastReceiver 类中获取实例以在android 中接收短信?
【发布时间】:2012-10-12 00:48:48
【问题描述】:

我想从 android 广播接收器中的 textview 中获取接收到的短信的实例。 我想在 textview 中显示短信并从 "textview.settext("SmsContentEtc")" 使用,但是因为我在课堂上使用 creat 方法,所以我从 textview 获取实例!!!!

public class SmsReceiver extends BroadcastReceiver
{
    private TextView txtshow;
     @Override
        public void onReceive(Context context, Intent intent) 
        {       
            //---get the SMS message passed in---
            Bundle bundle = intent.getExtras();        
            SmsMessage[] msgs = null;
            String str = "";            
            if (bundle != null)
            {
                //---retrieve the SMS message received---
                Object[] pdus = (Object[]) bundle.get("pdus");
                msgs = new SmsMessage[pdus.length]; 
                for (int i=0; i<msgs.length; i++){
                    msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                         
                    str += "SMS from " + msgs[i].getOriginatingAddress();                     
                    str += " :";
                    str += msgs[i].getMessageBody().toString();
                    str += "\n";  `enter code here`
                }
                //---display the new SMS message---
               //Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                txtshow.setText("smsContentEtc");
            }                         
        }
    }

【问题讨论】:

  • 那么您的问题是什么?到目前为止您尝试过什么?
  • 如果您将代码粘贴到此处,我们可以为您提供帮助..

标签: android android-layout android-emulator


【解决方案1】:

将文本放入 Intent 并将该 Intent 发送到您的 Activity。

  1. 如果 Activity 未运行,则会创建它,您需要从 Intent 获取文本并将其显示在文本视图中。

  2. 如果 Activity 已经在运行,则根据 Activity 的启动模式,Activity 将获得新的 Intent,或者将使用 Intent 调用新的 Activity 实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多