删除草稿信息之后 threads表的数据没有发生变化
现象描述:
无论是用_id来删除草稿信息,还是用thread_id和type来删除草稿,草稿都可以删除掉,但是threads表中的数据都没有发生变化。
private void removeDraftMessage() {
if(draftMsg == null) {
return;
}
/*getContentResolver().delete(Sms.CONTENT_URI,
"_id=" + draftMsg.getMessageId(), null);*/
getContentResolver().delete(
Sms.CONTENT_URI,
"thread_id=" + mThreadId + " and type="
+ Sms.MESSAGE_TYPE_DRAFT, null); // 红色的两种删除方法都无法将信息从数据库中删除干净。
draftMsg = null;
}
网上寻求资料,也有类似的提问,有网友答复:
那你要关注下threads表是如何更新,印象中threads只有数据第一次写入是通过代码完成,其它的操作是通过触发器实现的,看下threads表相关的触发器吧,相关的触发器创建代码在
MmsSmsDatabaseHelper.java (packages\apps\telephonyprovider\src\com\android\providers\telephony)
猜测你的问题可能是sms表的记录删除后并没有触发threads的触发器,可能是哪里条件不满足吧,多调试下吧
android系统提供的代码。
D:\android4.2.2\android\packages\apps\Mms\src\com\android\mms\ui\ComposeMessageActivity.java
ComposeMessageActivity类所在包是:package com.android.mms.ui;
终于调试出来了。使用这个方法可以删除sms表中的数据,同时更新threads表中的数据。
Uri uri = Uri.withAppendedPath(Sms.CONTENT_URI,
String.valueOf(draftMsg.getMessageId()));
getContentResolver().delete(uri, null, null);
具体原因就不得而知了。有知道的员友不吝赐教。
删除草稿信息之后 threads表的数据没有发生变化的更多相关文章
- 我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令
一.如果数据重要,请先备份数据 二.删除表中数据 SQL: Delete From ('表名') 如:Delete From abcd 三.执行新语句 SQL: dbcc checkident('表 ...
- SQL删除语句同时向备份表插入数据
从这里摘抄下来的,觉得很不错,http://www.cnblogs.com/ljhdo/p/5792886.html#3503524 ,以后就用这种方式删除,再也不用担心删除错数据啦!!!
- EF里单个实体的增查改删以及主从表关联数据的各种增删 改查
本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
- MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
一.MySQL数据库表的数据插入.修改.删除和查询 CREATE DATABASE db0504; USE db0504; CREATE TABLE student ( sno ) NOT NULL ...
- oracle数据文件不小心被删除,导致对应的表空间删不掉的处理方法
问题现象:数据文件被无意删除,导致数据库表空间无法删除,并且重新刷表空间提示表空间已经存在:解决方法:1.oracle用户登录服务器,使用sysdba连接数据库 >sqlplus / as sy ...
- oracle 删除表、数据
truncate ddl语句,删除表中数据,速度要比delete快:且所有自增字段重新开始计数:删除数据保留表结构:删除的数据不进入rollback segment,无法恢复.例: trunc ...
- cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据)
一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql 或者通过一键集成工具 打开mysql命令行 或者mysql 可视化工具 打开命令行 进入这样的界面 不同的机器操作不同 ...
- Mysql清空表(truncate)与删除表中数据(delete)的区别
来源:http://blog.is36.com/mysql_difference_of_truncate_and_delete/ 为某基于wordpress搭建的博客长久未除草,某天升级的时候发现已经 ...
- db2删除表中数据
DB2数据库系统建表后,难免会有将表中数据清空的需求,本文将为您介绍DB2数据库中四种数据删除的方法,供您参考,您可以根据实际情况来进行选择,希望能对有所帮助. 1. 使用 DELETE 语句,即: ...
随机推荐
- Risc-V指令集
https://riscv.org/specifications/ Risc-V文档包括:用户层指令集文档和特权架构文档,下面这两个文件的官网链接. User-Level ISA Specificat ...
- go语言之进阶篇定时器停止
1.定时器停止 示例: package main import ( "fmt" "time" ) func main() { timer := time.New ...
- ztree默认自动打开第一级
var treeObj = $.fn.zTree.getZTreeObj("tree"); var nodes = treeObj.getNodes(); if (nodes.le ...
- python os.path模块常用方法详解 ZZ
os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...
- 大数据开发实战:Stream SQL实时开发一
1.流计算SQL原理和架构 流计算SQL通常是一个类SQL的声明式语言,主要用于对流式数据(Streams)的持续性查询,目的是在常见流计算平台和框架(如Storm.Spark Streaming.F ...
- Redis 在线管理工具(phpRedisAdmin)介绍
phpRedisAdmin is a simple web interface to manage Redis databases. phpRedisAdmin 在 Redis clients 的列表 ...
- Double-Array Trie分词词典简述
http://www.xuebuyuan.com/1991441.html 一.TRIE树简介(以下简称T树) TRIE树用于确定词条的快速检索,对于给定的一个字符串a1,a2,a3,…an,则采用T ...
- [转]xshell实现端口转发
原文: https://www.cnblogs.com/linxizhifeng/p/8657795.html https://blog.csdn.net/qq_34039315/article/de ...
- 解压版mysql的配置与使用
1.在环境变量path中添加mysql的bin目录路径,例如 D:\Program Files\MySQL\mysql\bin 2.修改mysql目录下的my-default.ini文件 # 设置my ...
- 在sublime text2上安装xdebug
目录 安装Xdebug extension 设定php.ini 安装Xdebug plugin for Sublime Text2 1.安装Xdebug extension 先从安装Xdebug开始, ...