【问题标题】:How would i track Incoming SMS in Android?我将如何在 Android 中跟踪传入的短信?
【发布时间】:2014-07-07 18:26:49
【问题描述】:

我正在开发一个应用程序并希望跟踪传入的 SMS 消息。我需要一个可以使用的示例代码或例程。

【问题讨论】:

    标签: android


    【解决方案1】:

    如果您在这种情况下为传入的 SMS 实施广播接收器,则以下代码将跟踪您的传入 SMS 并为您提供消息和发件人号码。

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.telephony.gsm.SmsMessage;
    import android.widget.Toast;
    
    public class SmsReceiver extends BroadcastReceiver
    {
        @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";        
                }
                //---display the new SMS message---
                Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
            }                         
        }
    }
    

    【讨论】:

    • OP 没有询问发送短信。
    【解决方案2】:

    使用BroadcastReceiver

    代码在这个问题的第一个答案中:

    In android how should i get phone number of sms sender?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      相关资源
      最近更新 更多