2013-09-07 3 views
0

나는 브로드 캐스트 리시버를 사용하여 SMS를 캡처했습니다. 내 앱에서 내 앱이 설치되어있는 다른 모바일에 SMS 만 보내고 싶습니다. 우선 순위를 사용했으나 사용하지 않았습니다. '일을하고 싶습니다 ... 나는 모바일 sms defualt받은 편지함은 SMS를 얻을 수 없다 싶습니다 .. 전용 내 응용 프로그램받은 편지함은 SMS를 얻을 것이다 .. 내가 SMS받은 편지함에 대한 내 자신의 데이터베이스를 만들었습니다 ... 어떻게해야합니까 ??내 SMS 앱에서 SMS를 앱에 보내는 방법

//my sms receiver class 
package com.example.crypton; 
import java.util.ArrayList; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.database.Cursor; 
import android.net.Uri; 
import android.os.Bundle; 
import android.provider.ContactsContract; 
import android.provider.ContactsContract.PhoneLookup; 
import android.telephony.SmsMessage; 
import android.widget.Toast; 



public class SmsReceiver extends BroadcastReceiver { 

ArrayList<String> your_array_list = new ArrayList<String>(); 
@Override 
public void onReceive(Context context, Intent intent) 
{ 
    //---get the SMS message passed in--- 
    Bundle bundle = intent.getExtras();   
    SmsMessage[] msgs = null; 
    String str = "";  
    String str2 = ""; 
    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]);     

      str2 += msgs[i].getOriginatingAddress();      
      // str2 += " :"; 
      str += msgs[i].getMessageBody().toString(); 
      DatabaseHandler db = new DatabaseHandler(context); 
      db.addSMS(new IncomingSMS(str,str2));  
     } 


     Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(str2)); 
     Cursor c = context.getContentResolver().query(lookupUri, new String[]{ContactsContract.Data.DISPLAY_NAME},null,null,null); 
     try { 
      c.moveToFirst(); 
     String displayName = c.getString(0); 
     str2 = displayName; 

     } catch (Exception e) { 
      e.printStackTrace(); 
     }finally{ 
      c.close(); 
     } 
     //---display the new SMS message--- 
     Toast.makeText(context, str, Toast.LENGTH_LONG).show(); 

    /* Intent i = new Intent(context, StoreMsg.class); 
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     i.putExtra("sms", str); 
     i.putExtra("phonenumber",str2); 
     context.startActivity(i);*/ 


    } 
} 

}

답변

1

마지막

+0

메시지 내 안드로이드 기본받은 편지함으로 더 가지 않을 것이다 차단 한 직후 브로드 캐스트를 사용

this.abortBroadcast(); 

를 중지하려면? –

+0

확인 했습니까? 작동 했습니까? –

관련 문제