将收件箱和已发送短信与所有短信区分开来

2023-12-13

我正在开发一个 Android 应用程序。在我的应用程序中,我必须列出所有对话,并且我完成了该部分。每个对话都包含发送到该号码的所有短信。所以我必须将收件箱和已发送短信与所有短信区分开来。我知道以下 api 可用于查找收件箱和已发送短信。

content://sms/inbox
content://sms/sent

但我不想使用这个。我通过使用 api 列出了所有短信

content://sms/

我用列索引的类型、地址进行了测试,但它总是为收件箱和发件箱提供相同的结果。我的示例代码是

Uri SMS_INBOX = Uri.parse("content://sms");
        c = getContentResolver().query(SMS_INBOX, null, "thread_id" + " = "
                        + "3", null,
                        "date" + " ASC");
        if(c.moveToFirst()){
            count.add(c.getCount());
            for(int j=0;j<c.getCount();j++){
                System.out.println(c.getString(c.getColumnIndexOrThrow("body")).toString());
                System.out.println("new   person=="+c.getColumnIndex("person")+"type=="+c.getColumnIndexOrThrow("type"));
                c.moveToNext();
            }
        }
        c.close();

请帮我。


您可以在此处使用 ContentObserver 来跟踪发送和接收的消息,

覆盖onChange()的方法ContentObserver并获取短信类型并相应地工作。伪代码可以如下所示。

Cursor cursor = mContext.getContentResolver().query(Uri
                             .parse("content://sms"), null, null, null, null);

String type = cursor.getColumnIndex("type");
if(cursor.getString(type).equalsIgnoreCase("1")){
    // sms received
 }
 else if(cursor.getString(type).equalsIgnoreCase("2")){
    //sms sent
 }

注册ContentObserver对于短信,

ContentResolver observer = this.getContentResolver();
observer.registerContentObserver(Uri.parse("content://sms"), 
                               true, new MySMSObserver(new Handler(),this));

Where MySMSObserver将是你的班级延伸ContentObserver构造函数的参数作为处理程序和上下文,

public MySMSObserver(Handler handler, Context context) {
        super(handler);
        this.context = context;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将收件箱和已发送短信与所有短信区分开来 的相关文章

  • 无法获取项目的未知属性“assembleRelease”

    将 Android Studio 更新到版本 2 2 并将 gradle 插件更新到 2 2 0 后 出现以下错误 错误 32 1 评估项目 jobdispatcher 时出现问题 无法获取 org gradle api Project 类
  • 如何通过代码检测Android上的表情符号支持

    通过代码 我可以制作一个按钮 将这 3 个表情符号插入到文本中 不过 在许多手机上 当用户单击按钮时 问题是 显示为 X X X 或者更糟糕的是 它只显示三个空白空间 我想在无法正确显示表情符号的 Android 设备上禁用并隐藏我自己的内
  • Kotlin Android Firebase 数据库哈希映射转换为类

    我正在尝试从 firebase 数据库获取数据 断点显示它正在获取数据 但看起来我没有正确地将其分配给我的班级 这会导致此异常 java lang ClassCastException 无法将 java util HashMap 转换为 班
  • Android Studio Canary 3.4 Canary 4:错误:功能插件不支持variant.getApplicationId()

    自从我在新版本上更新了我的项目以来Android Studio 3 4 金丝雀 4 gradle 同步失败 因为 ERROR variant getApplicationId is not supported by feature plug
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • 不使用eclipse安装Android模拟器

    如何在没有eclipse的电脑上安装android模拟器 android模拟器无需安装eclipse 只需下载 android sdk 并安装即可 安装android SDK之前必须先安装JDK 完成后安装成功 您将获得两个应用程序 SDK
  • Android,如何从 XML 布局添加 Google 地图选项?

    我有一个包含 MapView 的片段 我已将此视图添加到 XML 文件中 如下所示
  • Android 游戏偶尔出现延迟

    我正在用 Java 制作一个简单的 Android 游戏 我注意到每 20 40 秒就会出现一些烦人的延迟 首先 我认为它们是由垃圾收集器引起的 但当我检查 LogCat 时 我发现游戏滞后时没有垃圾收集 每当游戏开始滞后时 我都会标记日志
  • Android - 使用 SAX 解析器解析大文件

    我正在尝试使用 SAX 解析器解析来自 webservice 的 xml 数据 当我尝试使用 URL 解析数据 大小 7 4MB 时 它工作正常 但是当我从 URL 复制 xml 数据并放置 xml 文件时 size 7 4MB 在raw文
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • Android 两个 Activity 之间的共享元素转换不起作用

    在我的应用程序中 我尝试使用新引入的活动之间共享的元素 如果共享元素具有固定位置 例如 android layout gravity top 但是当视图被锚定时问题就出现了 我的第一个活动如下所示
  • android - 如何让按钮每次按下时单击播放声音文件?

    我打开了一个新项目 现在我想做的是 通过按下按钮 我想要播放一个 mp3 文件 而且每次按下按钮时 声音文件都会再次从头开始播放 所以假设 mp3 长 10 秒 我按下按钮 它正在播放 4 秒后我再次按下按钮 声音将再次播放 现在我想知道的
  • onStart() 到底做了什么? - 安卓[重复]

    这个问题在这里已经有答案了 一段时间以来 我一直想知道 onStart 函数在 android 生命周期中的确切作用 网上的大多数资源只是说 它在您的活动在屏幕上可见之前被调用 但到目前为止我所做的应用程序我从未使用过onStart 我在
  • 活动中列表视图中的粘滞行

    我的列表视图中只有一行应该是粘性的 而不是粘性标题中带有字母的部分或部分 我真的很感激任何关于列表视图在活动中粘性一行而不是片段的帮助 我该怎么做 我真的很感谢任何帮助 提前致谢 使用如下代码 class MyAsyncTask exten
  • Android - 检测视图上的双击和三次点击

    我一直在尝试构建一个可以检测双敲击和三敲击的敲击检测器 在我的努力失败后 我在网上搜索了很长时间以找到可以使用的东西 但没有运气 奇怪的是 像这样的图书馆如此稀缺 有什么帮助吗 你可以尝试这样的事情 尽管我通常建议不要使用三次点击作为一种模
  • 致命异常:GoogleApiHandler

    在我的项目中 我使用货币化服务 Vungle AppLovin 当我尝试加载广告时 出现此异常 E AndroidRuntime 致命异常 GoogleApiHandler 进程 kz ikar PID 3673 java lang NoS
  • 在两个片段之间拖放视图

    我目前正在尝试在两个片段之间实现拖放 我已经将它们添加到我的活动中 如下所示 FragmentManager fm getFragmentManager FragmentTransaction ft fm beginTransaction
  • 使用 PDFBox 在 Android 中创建 PDF

    我正在尝试通过我的 Android 应用程序创建 PDFPDFBoxapi 但出现以下错误 java lang NoClassDefFoundError org apache pdfbox pdmodel PDDocument 我已经将以下
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • XNA 处理按键组合

    我已经阅读了一些涉及此问题的文章 但是在尝试实施一些之后 总是遇到同样的问题 快速说明 这是家庭作业 我正在使用 XNA 为我的游戏设计课程重新创建 Super Smash Brothers N64 风格 现在我有两个问题密切相关 熟悉 S
  • Maven 依赖项在 WEB-INF/lib 中不可见

    我在使我的项目基于 Maven 时遇到了这个奇怪的问题 我创建了一个新的Maven在 Eclipse 中创建项目并启用动态 Web 方面 但在运行时现在它会抛出ClassNotFoundException因为 Maven 依赖项没有复制到W
  • 子查询上的 GROUP_CONCAT 的奇怪结果

    在子查询上使用 GROUP CONCAT 时 我有一个奇怪的行为 这是我的查询 SELECT name GROUP CONCAT DISTINCT id SEPARATOR AS id FROM SELECT APN AS name GRO
  • 如何转换为模板类型?

    在 gdb 中 如果你有一个指向某个东西的指针 你可以在打印它之前对其进行转换 例如 这有效 print int 0xDEADBEEF 但是 如何打印std vector
  • 为什么 Map 不能在 chrome/node 中进行子类化?

    所以 ES 6 给我们带来了Maps 而且不会太快 为了实现我自己的邪恶目的 我希望对 Map 进行子类化 我尝试了以下操作 为了清楚起见 进行了缩写 function Foo return Map apply this slice cal
  • 添加突出显示不适用于 Elasticsearch 2.3.3 中的 has_child 查询

    当我使用 hasChildQuery 时 一切正常 但是当我添加addHighlightedField 方法 它不起作用 以下是我的代码 TermsLookupQueryBuilder terms QueryBuilders termsLo
  • 从 Angular 中的自定义表单组件访问 FormControl

    我的 Angular 应用程序中有一个自定义表单控制组件 它实现了ControlValueAccessor界面 但是 我想访问FormControl实例 与我的组件关联 我正在使用反应式形式FormBuilder并使用提供表单控制formC
  • Gnuplot 工作流程涉及多重绘图的拟合循环

    我想在 gnuplot 中执行以下操作 读取我的文件 这些文件被方便地标记为 filenameN txt 其中 N 是第 N 个文件 使用 aN bN 将一些多项式 fN x 拟合到数据中 并使用 multiplot 将所有这些绘制在单个图
  • 有反向映射功能吗?

    在 clojure 中 您可以将函数映射到值序列 是否有一个内置函数可以将单个值作为参数映射到一系列函数 map inc 1 2 3 4 gt 2 3 4 5 reverse map inc dec str 1 gt 2 0 1 rever
  • 什么是spark.python.worker.memory?

    谁能给我更准确地描述这个 Spark 参数以及它如何影响程序执行 我无法从文档中确切地看出这个参数 在幕后 的作用 该参数影响 Python 工作线程的内存限制 如果Python工作进程的RSS大于内存限制 那么它会将数据从内存溢出到磁盘
  • setNeedsLayout 与 setNeedsUpdateConstraints 和 layoutIfNeeded 与 updateConstraintsIfNeeded

    我知道自动布局链基本上由 3 个不同的过程组成 更新约束 布局视图 这是我们计算帧的地方 display 我不完全清楚的是两者之间的内在区别 setNeedsLayout and setNeedsUpdateConstraints 来自苹果
  • 使用 python 和请求进行 Instagram 身份验证

    我需要为我的项目创建 Instagram 登录表单 我已经编写了这段代码 但它不能正常工作 我需要在请求后获取 sessionid cookie def authorize inst url https www instagram com
  • 如何合并两个数据库,具有相同的数据,但具有不同的主键,且没有重复的字段?

    我有两个 mdb 文件 如果需要的话 我还可以将其转换为 MySQL 数据库 如何将这两个不同的数据库合并为一个 这个想法是从两个数据库获取所有信息并将其合并为一个 而不复制任何客户端 问题是两个bds都有相同的客户端和不同的客户端 但是客
  • 防伪令牌适用于用户“”,但当前用户是“用户名”

    我正在构建一个单页应用程序并遇到防伪令牌问题 我知道为什么会出现这个问题 只是不知道如何解决 当发生以下情况时我收到错误 未登录用户加载对话框 带有生成的防伪令牌 用户关闭对话框 用户登录 用户打开相同的对话框 用户在对话框中提交表单 防伪
  • nuspec contentFiles 未添加到项目中

    我有一个网络项目 mvc5 项目 json inside 另外 我有一个 nuget 包 在这个包中 除了 dll 引用之外 我有一些内容文件 cshtml 文件 css javascript 等 有 2 个目标需要实现 将包安装到项目后
  • Python 硒和验证码

    我有一个抓取机器人 每当遇到验证码时我都想停止它 以免惹恼网站 但是selenium找不到它 driver find element by xpath id recaptcha anchor 这是 chrome 给我的 xpath ERRO
  • Tailwind CSS,不尊重类优先级

    我有以下元素 td class td 它的所有类名都是通过组件自动生成的 除了最后一个 min w 0 Since min w 0是列出的最后一个类名 我希望它能够覆盖min w 10rem 列出的第 1 类名称 然而 由于某种原因 min
  • 将数据框中的每一列转换为单独的数据框

    假设我有一个包含 10 列的数据框 其中 10 列中的每一列代表一个单独的时间序列 我想将每个时间序列 或数据帧的每一列 存储在单独的数据帧中 我尝试使用 allocate columnname df i 其中 i 是 for 循环中的变量
  • 在android中的EditText上输入时如何过滤ListView数据

    我有一个ListView and a EditText 如何在输入内容时过滤 ListView 数据EditText Add TextWatcher to EditText addTextChangedListener In onTextC
  • 将收件箱和已发送短信与所有短信区分开来

    我正在开发一个 Android 应用程序 在我的应用程序中 我必须列出所有对话 并且我完成了该部分 每个对话都包含发送到该号码的所有短信 所以我必须将收件箱和已发送短信与所有短信区分开来 我知道以下 api 可用于查找收件箱和已发送短信 c