java - 应用程序读取错误短信

标签 java android android-contentprovider

我想在收到的短信 (SMS) 到达后立即读取它们(在收到的广播 - android.provider.Telephony.SMS_RECEIVED 上)。我实际上正在使用以下代码,但它只在收到消息之前读取消息。有人知道为什么吗?

    public String getLastSms() {


    resolver = context.getContentResolver();
    uri = Uri.parse("content://sms/inbox");
    projection = new String[]{"body"};
    selection = null; 
    selectionArgs = null; 
    sortOrder = null;


    cursor = resolver.query(uri, projection, selection, selectionArgs, sortOrder);
    cursor.moveToFirst();

    return cursor.getString(0);

}

最佳答案

您没有提供足够的背景信息。您的接收器是什么样子的? 您是否看过像这样的完整示例:http://www.tutos-android.com/broadcast-receiver-android

关于java - 应用程序读取错误短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16541751/

相关文章:

java - 需要按字符串的一部分对字符串进行排序

java - 如何悲观锁定然后无限期地持有以跟踪集群中谁是主控?

java - Java 版 OpenCSV 阅读器 - 如何获取列数?

android - 使用 Runnable 填充 ListView - 返回太多

android - 在Android中使用ContactsContract时出现"SQLiteException: no such column: mimetype"

android - ContentProvider 实现,如何将 "Selection"和 "SelectionArgs"转换为键值对?

java - 从匿名类获取变量

android - 如何为调试构建包含 Dagger Debug SubModule?

适用于 Unity3d x86 和 Arm 的 Android ndk-build .. 将多种架构构建到一个 .so 文件中

java - CursorLoader 通知数据变化