2012-06-19 3 views

답변

0

등록 된 브로드 캐스트 클래스 :

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 += msgs[i].getMessageBody().toString(); 
       str += "\n";   
      } 
      if(str.contains("YOUR_UNIQUE_KEY")) 
       { 
       // START YOUR ACTIVITY HERE 
        Intent i = new Intent(context,SMSActivity.class); 
        i.setLaunchFlags(Intent.NEW_TASK_LAUNCH); 
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        context.startActivity(i); 
       } 

     }       
    } 
} 

우리는 안드로이드 SMS를 받아 봐하는 방법에 대한

이 자습서를 참조 프로젝트에서 들어오는 SMS 튜토리얼과 소스 코드를 듣습니다. 아래 링크

,

http://www.androidcompetencycenter.com/2008/12/android-api-sms-handling/

후 방송 수신기 클래스 활동 샘플 코드 아래 시작 SMS를받을 듣기 :

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.telephony.SmsMessage; 
import android.widget.Toast; 

public class ReceiveSMS extends BroadcastReceiver 
{ 
    MapMarker obj_gps = new MapMarker(); 
    Boolean SendSMS; 
    String Mobileno; 
    String VarMessageBody; 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
      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(); 
        Mobileno=msgs[i].getOriginatingAddress(); 
        str += " :"; 
        str += msgs[i].getMessageBody().toString(); 
        VarMessageBody=msgs[i].getMessageBody().toString(); 
        str += "\n"; 
        Mobileno=msgs[i].getOriginatingAddress(); 

       } 
       //---display the new SMS message--- 
       if (VarMessageBody.startsWith("LOST"))//Check Message Body String Start with START 
        Intent intentHome = new Intent(context, HomeScreen.class); 
        intentHome.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        //intentHome.putExtra("No",Mobileno); 
        //intentHome.putExtra("Msg",VarMessageBody); 
        //intentHome.putExtra("Mob", Mobileno); 
        context.startActivity(intentHome); 
       } 

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



} 

이 코드는 활동을 시작하려면 SMS 형식 "LOST"를 보내 수신 ..!

관련 문제