2012-01-26 13 views
6

To jest kod obserwatora SMS. Muszę sprawdzić tylko wysłane sms. Kiedy używam content://sms/ otrzymuję wynik. Ale dlaczego nie otrzymam wyników, gdy używam content://sms/sent/? Używam Androida 2.1.content: // sms/sent/not working

import android.app.Service; 
import android.content.ContentResolver; 
import android.content.Intent; 
import android.database.ContentObserver; 
import android.database.Cursor; 
import android.net.Uri; 
import android.os.Handler; 
import android.os.IBinder; 
import android.util.Log; 

public class smsSentService extends Service 
{ 
    ContentResolver contentResolver; 
    Uri uri=Uri.parse("content://sms/sent"); 
    Handler handler; 

    @Override 
    public IBinder onBind(Intent arg0) 
    { 
     return null; 
    } 

    @Override 
    public void onCreate() 
    { 
     contentResolver=getContentResolver(); 
     contentResolver.registerContentObserver(uri, true, new contentObserver(handler)); 
     super.onCreate(); 
    } 

    @Override 
    public void onStart(Intent intent, int startId) 
    { 
     super.onStart(intent, startId); 
    } 

    @Override 
    public void onDestroy() 
    { 
     super.onDestroy(); 
    } 

    public class contentObserver extends ContentObserver 
    { 
     public contentObserver(Handler handler) 
     { 
      super(handler); 
     } 

     @Override 
     public void onChange(boolean selfChange) 
     {     
      Cursor cursor = contentResolver.query(uri, null, null, null, null); 
      cursor.moveToFirst(); 
      String content = cursor.getString(cursor.getColumnIndex("body")); 
      Log.d("!!!!!!!!!!!!!", content); 
      super.onChange(selfChange); 
     } 
    } 
} 
+0

Czy to nie ma być treścią: // sms/out? – giggsey

+1

content: // sms/out też nie działa. – XXX

+3

@XXX, w jaki sposób rozwiązałeś problem z tym samym tematem: // sms/sent nie działa również w lollipop – Erum

Odpowiedz

4

Spójrz na http://gbandroid.googlecode.com/svn-history/r46/trunk/MobileSpy/src/org/ddth/android/monitor/observer/AndroidSmsWatcher.java

Ten kod nasłuchuje zmian do całości treści: // sms i sprawdza typ, aby zobaczyć, czy jest to wiadomość wysłana.

+0

dziękuję bardzo! – XXX

+0

@giggsey Dlaczego nie można obserwować treści: // sms/sent? – gonzobrains

+0

@gonzobrains Możesz i mam. Chociaż żaden z nich nie jest oficjalnym sposobem na to. – giggsey