2012-05-23 3 views
0

문자 메시지에서 브로드 캐스트 수신기를 시작하는 키워드를 설정하는 방법은 무엇입니까? 내 방송 수신기 작동, 문제는 모든 문자 메시지 수신에 대한 활동을 시작하고 난 단지 1 또는 2 개의 키워드 "호텔 및/또는 하우스"수신하는 시작하는 데 필요합니다. 어떻게해야합니까 .... 고마워. 다음은Android 브로드 캐스트 수신기가 문자 메시지 키워드로 시작됩니다.

-manifest- 는 " 는"

-actual 수신기가 공용 클래스 SMSReceiver가 브로드 캐스트 리시버를 확장 클래스 - 내 코드 {

public void onReceive(Context context, Intent intent) { 
    Bundle bundle = intent.getExtras(); 

    Object messages[] = (Object[]) bundle.get("pdus"); 
    SmsMessage smsMessage[] = new SmsMessage[messages.length]; 
    for (int n = 0; n < messages.length; n++) { 
     smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]); 
    } 

    //show first message 
    Toast toast = Toast.makeText(context, "Received SMS: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG); 
    toast.show(); 

    //and then start an activity 

    Intent i = new Intent(context,AppActivity.class); 
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(i); 
+0

다음은 내 메인 페스트 KaSiris

답변

1

<intent-filter>에 따라 텐트에 BroadcastReceiver 듣는다 . data 필터는 SmsMessage.getMessage()에서 필터링하지 않기 때문에 요청하는 필터링을 제공하지 않습니다. SMS를 청취하는 것 외에 수행 할 수있는 작업은 키워드에 대한 각 메시지를 스캔 한 다음 원하는 활동을 시작하는 것입니다.

+0

어떻게하면됩니까? – KaSiris

+1

SmsMessage 개체를 만들 때 StringBuilder에 메시지의 두 번째 복사본을 넣습니다. 그런 다음 StringBuilder 객체에 검색중인 단어가 포함되어 있는지 확인합니다. 키워드가 있으면 활동을 시작하고 아무것도하지 않으면 활동을 시작하십시오. –

+0

알았어 ... 고마워! – KaSiris

관련 문제