【问题标题】:content://sms/sent/ not working内容://短信/发送/不工作
【发布时间】:2012-02-19 21:04:16
【问题描述】:

这是 SMS 观察者代码。我只需要检查发送的短信。当我使用content://sms/ 时,我得到了结果。但是为什么我使用content://sms/sent/ 时没有得到结果?我使用的是 Android 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/out 吗?
  • content://sms/out 也不行。
  • @XXX 你如何解决你的问题同样的问题内容://sms/sent 在棒棒糖中也不起作用

标签: android sms observer-pattern


【解决方案1】:

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

该代码侦听整个 content://sms 的更改并检查类型以查看它是否是已发送的消息。

【讨论】:

  • @giggsey 为什么看不到 content://sms/sent?
  • @gonzobrains 你可以,我有。虽然两者都不是官方的这样做方式。
  • 我知道这是非官方的,但这对我的目的来说是可以的。不幸的是,当我在 URI 中的“sms”之后指定“sent”时,不会为我调用 onChange()。
  • 上面的链接断开。
  • @powder366 在 GitHub 上找到了一个镜像,不知道是不是最新的:github.com/scrack/gbandroid/blob/master/MobileSpy/src/org/ddth/…
猜你喜欢
  • 2015-12-30
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 2018-05-20
相关资源
最近更新 更多