Android content://sms/sent/ 不起作用
这是SMS观察员代码。我只需要检查发送的短信。当我使用Android content://sms/sent/ 不起作用,android,sms,observer-pattern,Android,Sms,Observer Pattern,这是SMS观察员代码。我只需要检查发送的短信。当我使用content://sms/我得到了结果。但是当我使用content://sms/sent/?我使用的是安卓2.1 import android.app.Service; import android.content.ContentResolver; import android.content.Intent; import android.database.ContentObserver; import android.database.C
content://sms/
我得到了结果。但是当我使用content://sms/sent/
?我使用的是安卓2.1
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);
}
}
}
看看
该代码侦听整个系统的更改content://sms 并检查该类型是否为已发送的消息。这不是应该的吗content://sms/out ?content://sms/out 也不起作用。@XXX您如何解决您的问题相同的问题content://sms/sent 不在棒棒糖里工作too@giggsey为什么你不能观察content://sms/sent?@你可以,我有。虽然这两种方式都不是官方的。我知道这是非官方的,但这对我来说是可以的。不幸的是,当我在URI中的“sms”之后指定“sent”时,onChange()没有被调用。上面的链接已断开。@powder366在GitHub上找到一个镜像,不知道它是否是最新的: