android廣播監聽短信并顯示內容

g2b4 9年前發布 | 3K 次閱讀 Java Android

AndroidManifest.xml中添加

<receiver android:name=".receive">           
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

再寫一個廣播監聽

public class receive extends BroadcastReceiver
{
    String receiveMsg = "";
    public void onReceive(Context context, Intent intent)
    {
        SmsMessage[] msg= null;

 if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
 {
      //StringBuilder buf = new StringBuilder();
      Bundle bundle = intent.getExtras();
      if (bundle != null) {
              Object[] pdusObj = (Object[]) bundle.get("pdus");
              msg= new SmsMessage[pdusObj.length];
              for (int i = 0; i<pdusObj.length; i++)
                      msg[i] = SmsMessage.createFromPdu ((byte[]) pdusObj[i]);
      }


 for(int i = 0; i < msg.length; i++)
 {
     String msgTxt = msg[i].getMessageBody();
     if (msgTxt.equals("Testing!"))
     {
         Toast.makeText(context, "success!", Toast.LENGTH_LONG).show();
         return;
     }
     else
     {
         Toast.makeText(context, msgTxt, Toast.LENGTH_LONG).show();
         return;
     }
 }
   return;

}

}</pre>

 本文由用戶 g2b4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!