天天看點

android 短信sms 接入,實作短信驗證注冊功能

舉例:

 --------------------------------------------------------------------

     <application android:icon="@drawable/icon" android:label="@string/app_name">    

         <receiver android:name=".SmsReceiver"> 

               <intent-filter>

            <action  android:name="android.intent.action.DATA_SMS_RECEIVED" />
             <data android:scheme="sms" />
             <data android:host="localhost" />
             <data android:port="8888" />

             </intent-filter>

         </receiver>


     </application>

     <uses-permission android:name="android.permission.SEND_SMS">

     </uses-permission>

     <uses-permission android:name="android.permission.READ_SMS">

     </uses-permission>

     <uses-permission android:name="android.permission.RECEIVE_SMS">


     </uses-permission>

 -------------------------------------------------------------------------

 public class SmsReceiver extends BroadcastReceiver

 {

     @Override

     public void onReceive(Context context, Intent intent) 

     {

     //---get the SMS message passed in---

     Log.e("SMS Received Begin Parse..", "SMS Received Begin Parse..\n");

     Bundle bundle = intent.getExtras();        

         SmsMessage[] msgs = null;

         String str = "";            

         if (bundle != null)

         {

         

         Log.e("SMS Received Begin Extrive..", "SMS Received Begin Extrive..\n");

             //---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]);

                 Log.e("getOriginatingAddress", msgs[i].getOriginatingAddress());

                 str += "SMS from " + msgs[i].getOriginatingAddress();                     

                 str += " :";

                 str += msgs[i].getMessageBody().toString();

                 str += "\n";  

               

             }

             //---display the new SMS message---

             Log.e("SMS Received ", str);

             Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

         }                         

                               

     }

 }

 ----------------------------------------------------------------------      
<data android:scheme="sms" />

 <data android:host="localhost" />

 <data android:port="8888" />