通过ADB shell命令读取安卓设备上的短信

5
我正在开发一个项目来读取我Android手机的短信,但在互联网上没有找到太多相关信息。在我的搜索中,我发现了以下几点:
  1. 您可以通过ADB shell命令访问Android手机,但只能使用某些受限功能。
  2. ADB是一种最佳通信方法,因为它不需要用户在Android设备上添加任何扩展。
  3. 我使用了在互联网上找到的shell命令发送消息,但它也没有起作用。

adb shell service call isms 5 s16 "com.android.mms" s16 "+01234567890" s16 "+01000000000" s16 "Hello world !" i32 0 i32 0

  1. 此外,我发现如果我想使用AT命令来实现这一目的,我必须root手机。
  2. 即使我尝试访问

com.android.internal.telephony 它显示结果权限被拒绝

以上是我与从我的Android设备读取短信有关的搜索结果,

  • 所以我想知道,如何使用ADB shell命令从我的Android设备读取短信?
  • 如果还有其他方法,请建议。
1个回答

0

您可以使用sqlite3从Android手机中读取短信,我也在同一个项目上工作。但是为此,您需要执行以下几个步骤:

1)您必须root您的手机(使用任何root应用程序,例如KingoRoot应用程序) 2)您应该知道您手机短信数据库的确切路径,并且您必须安装sqlite3(只需搜索一下即可找到它) 3)只有超级用户才能访问该数据库 4)您必须将sqlite.exe文件放入设备/系统/xbin(根目录) 5)如何完成第4步,您需要(Titanium备份,root浏览器)

如果完成了以上所有步骤,您所需要的就是

 C:\Users\Ray>cd appdata/local/android/sdk/platform-tools
    adb
    adb shell
    shell@htc_v02_dug:/ $ su
    root@htc_v02_dug:/ # cd /data/data/com.android.providers.telephony/databases
    root@htc_v02_dug:/data/data/com.android.providers.telephony/databases # sqlite3 mmssms.db
    SQLite version 3.7.6.3-Titanium
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    sqlite> select body from sms where read=0;
    hi

我正在使用HTC手机。刚刚读到的短信是“嗨”。


但我想在不进行root的情况下完成它。 - pranjal khanduri
只有超级用户才能直接访问移动设备的数据库,如果您不想进行root操作,还有另一种使用AT命令读取移动设备短信的方法。 - lucky410
据我所知,我们无法向移动GSM模块发送AT命令,因为高通不允许这样做。如果您有任何相关信息,请与我们分享。 - pranjal khanduri
兄弟,我的三星手机可以完美地使用AT指令。你需要的是你手机的USB调制解调器软件。安装在你的电脑上并通过超级终端等连接你的手机,并发送AT指令即可。 - lucky410

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接