2011-03-13 4 views
1

내가하는 방법 후 오전 :자바 안드로이드 - 필터 들어오는 문자 메시지

  1. 문자 메시지가 수신 될 때 경고/프롬프트받을 내 안드로이드 응용 프로그램을 얻기.
  2. 받은 편지함에서 최신 메시지 받기. 거기에서 스캔/필터링하고 싶지만 그 부분을 해결할 수 있다고 확신합니다.

어느 부분에서 시작할 지 제안 할 수있는 사람은 누구입니까? 받은 편지함 크기 변경 또는 새 SMS 메시지 수신시 어떤 경고가 발생합니까? 그리고받은 편지함에서 메시지를 검색하려면 어떻게해야합니까? 어떤 권한을 부여해야합니까?

+0

는 수신 된 SMS를 수신하는 방법을 찾을 수 : name = "android.provider.Telephony.SMS_RECEIVED"/> Dech

답변

0

이 질문에 대한 내 솔루션은 다음과 같습니다 <수신기 안드로이드 : ". ScanIncomingSMS"이름 => <의도 필터> <액션 안드로이드

public class MainActivity extends ListActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     List<SmsData> smsList = new ArrayList<SmsData>(); 

     Uri uri = Uri.parse("content://sms/inbox"); 
     Cursor c= getContentResolver().query(uri, null, null ,null,null); 
     startManagingCursor(c); 

     // Read the sms data and store it in the list 
     if(c.moveToFirst()) { 
      for(int i=0; i < c.getCount(); i++) { 
       SmsData sms = new SmsData(); 
       sms.setBody(c.getString(c.getColumnIndexOrThrow("body")).toString()); 
       sms.setNumber(c.getString(c.getColumnIndexOrThrow("address")).toString()); 
       // sms.setName(c.getString(c.getColumnIndexOrThrow("name")).toString()); 
       smsList.add(sms); 

       c.moveToNext(); 
      } 
     } 
     c.close(); 

     // Set smsList in the ListAdapter 
     setListAdapter(new ListAdapter(this, smsList)); 

    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     SmsData sms = (SmsData)getListAdapter().getItem(position); 

     Toast.makeText(getApplicationContext(), sms.getBody(), Toast.LENGTH_LONG).show(); 

    } 

}