如何解决无需 root 即可访问 SMS 的简单 Hello World?
这是我第一次使用 Kotlin 或 Android。我希望将一个非常基本的 Hello World 类型的东西作为未来应用的概念证明开始,但需要一些基本的指导。
我希望能够备份我的短信和彩信。我发现大多数应用程序只关注短信,而这对我来说忽略了许多重要的消息。
我只是在寻找一个基本的概念证明,我可以在没有 root 的情况下连接到位于 /data/data/com.android.providers.telephony/mmssms.db
中的那个数据库。
我能够使用 PC 软件 BackupTrans,使用 USB 调试获取数据库的本地副本,因此我编写了所有查询,但想知道如何访问该数据库,并获得额外的信用,如果不需要额外的努力来访问位于 /data/user_de/0/com.android.providers.telephony/app_parts/
图像和其他多媒体文件所在的文件,那就太棒了。
例如,我通常使用 C# 工作,所以请原谅我,如果我想运行这个查询,我该怎么做?
using (SqliteConnection DatabaseConnection = new SqliteConnection(string.Format(@"Data Source=D:\CodeStuff\MMS_Backup\part\mmssms.db")))
{
DatabaseConnection.Open();
SqliteCommand GetDataCommand =
new SqliteCommand(@"SELECT * FROM(
SELECT DISTINCT datetime(date,'unixepoch','localtime') as msg_date,text as msg,cl as attachment,""mms"" as type,msg_box as direction FROM part JOIN pdu ON pdu._id=part.mid
WHERE pdu.thread_id =1011
UNION
SELECT datetime(sms.date/1000,body as msg,"""" as attachment,""sms"" as type,type as direction
FROM sms
WHERE sms.thread_id = 1011
)
WHERE attachment !=""0.smil"" AND attachment !=""smil.xml""
order by msg_date",DatabaseConnection);
var dbResults = GetDataCommand.ExecuteReader();
while (dbResults.Read()){
}
}
对于任何关心的人,该查询将结合 SMS 和 MMS 的整个聊天记录提取到一个结果集中。然后我迭代它,生成一个 html 格式的对话视图,用于打印或其他存档方法。
我不想让手机生根,因为如果这行得通,我想让更多人更容易访问它,而且没有人希望数据丢失的机会只是为了备份
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。