无需 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...