- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我写了一个程序来读取android手机短信记录。像这样:
package com.example.read_sms;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.textView1);
Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,
null);
String sms = "";
while (cur.moveToNext()) {
sms += "From :"
+ cur.getString(cur.getColumnIndexOrThrow("address"))
+ " : " + cur.getString(cur.getColumnIndexOrThrow("body")) + "\n";
}
textView.setText(sms);
}
}
我在模拟器上运行这个,模拟器在我的金鱼内核上运行。我插入一个内核来 Hook 读取短信,代码如下:
asmlinkage int our_sys_open(const char* file, int flags, int mode)
{
//联系人 /data/data/com.android.providers.contacts/databases/contacts2.db //通话记录 /data/data/com.android.providers.telephony/databases/telephony.db
//短信记录 /data/data/com.android.providers.telephony/databases/mmssms.db
char * contact = "/data/data/com.android.providers.contacts/databases/contacts2.db";
char * telephony = "/data/data/com.android.providers.telephony/databases/telephony.db";
char * sms = "/data/data/com.android.providers.telephony/databases/mmssms.db";
if (strcmp(file, contact) == 0){
printk("应用程序正在读取手机的联系人记录!!!\n");
}
if (strcmp(file, telephony) == 0){
printk("应用程序正在读取手机的通话记录!!!\n");
}
if (strcmp(file, sms) == 0){
printk("应用程序正在读取手机的短信记录!!!\n");
}
// printk("A file was opened\n%s\n%d\n%d\n",file,flags,mode);
return original_call_open(file, flags, mode);
}
上面是我自己的hook函数,我通过“cat/proc/kmsg”查看内核信息。当我安装这个 apk 时,内核显示“应用程序顺序正在读取手机的关联人记录!!!”“/data/data/com.android.providers.contacts/databases/contacts.db-mj4dec6bdb”“应用程序的名称是 ContactsProvide”"该应用程序的进程id是:222"我不知道为什么内核显示“...contacts.db....”,但我读了短信。在我看来,它应该显示“/data/data/com.android.providers.telephony/databases/mmssms.db ....”。任何人都可以帮助我吗?THX。
最佳答案
Uri inboxURI = Uri.parse("content://sms/inbox");
// List required columns
String[] reqCols = new String[]{"_id", "address", "body"};
// Get Content Resolver object, which will deal with Content Provider
ContentResolver cr = getContentResolver();
// Fetch Inbox SMS Message from Built-in Content Provider
Cursor c = cr.query(inboxURI, reqCols, null, null, null);
bankMessage = new ArrayList<message>();
while (c.moveToNext()) {
Log.i("address", c.getString(c.getColumnIndex("address")));
if (c.getString(c.getColumnIndex("address")).contains("SBI") || c.getString(c.getColumnIndex("address")).contains("HDFC") || c.getString(c.getColumnIndex("address")).contains("ICICI")){
message bMessage = new message();
bMessage.set_id(c.getString(c.getColumnIndex("_id")));
bMessage.setAddress(c.getString(c.getColumnIndex("address")));
bMessage.setBody(c.getString(c.getColumnIndex("body")));
bankMessage.add(bMessage);
}
}
// Attached Cursor with adapter and display in listview
adapter = new SimpleCursorAdapter(this, R.layout.row, c,
new String[]{"body", "address"}, new int[]{
R.id.lblMsg, R.id.lblNumber});
lvMsg.setAdapter(adapter);
关于android读取短信收件箱消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30390694/
我正在做一个项目,具体来说是一个网站,其中有一个收件箱或消息,用户可以在其中向其他用户发送消息。 我正在网上查看如何为此创建数据模型,你能帮我解决这个问题吗?我一开始所做的是将他们尝试输入的每条文本或
我目前正在尝试使用 Perl 连接到 gmail 收件箱和 Net::IMAP::Client 使用以下代码 use strict; use warnings; use Net::IMAP::Clie
我想制作一个桌面应用程序,它可以从通过 USB 数据线连接到 PC 的安卓手机读取短信。有没有可能我在网上搜索过任何入门点,有关于通过 android 应用程序阅读短信的教程...有人可以指导我正确的
我有一个用于删除邮件的收件箱代码。 如果我选择一条消息,它将删除所有消息。 我该如何解决这个问题? 这是我的delete_message.php代码: 这是 inbox.php 中带有复选框的代码
这个问题在这里已经有了答案: How to send email in Android ? [duplicate] (3 个答案) 关闭 8 年前。 如何在我们的应用中打开收件箱。 final St
今天我看到了收件箱应用程序。 (来源:cbsistatic.com) 我想知道如何在工具栏(searchButton 的左侧)上制作那个切换按钮。我没有找到对(或者我搜索不多)的引用。 谢谢^^ 最佳
我想使用 Google.GData.Client.dll 阅读我的 Gmail 收件箱。我该如何做到这一点?我想要一个示例程序。 最佳答案 我找到了 GMailAtomFeed // Creat
我有代码可以搜索用户的 Outlook 并根据您在工作表单元格中输入的主题短语回复电子邮件。几天前我确实让它工作了,但现在我似乎无法让它工作(已被删除)。运行后,将持续显示代码行“Set olitem
我正在尝试连接到本地托管的电子邮件 POP3 收件箱并在邮箱中显示电子邮件,但我不断收到错误: Exception in thread "main" javax.mail.MessagingExcep
我想使用 java (SE) 在 MS Outlook (2010) 中阅读我的收件箱,然后将消息/电子邮件移动到另一个文件夹。我曾尝试在网络上搜索,但只找到了许可的解决方案或几年前的帖子。有人对此步
这个问题在这里已经有了答案: launch sms application with an intent (22 个答案) 关闭 7 年前。 我想在我的应用程序中点击一个按钮来打开 Android
我正在运行 Xubuntu 13.04 并安装了最新版本的 libcurl/curl: $ curl -V curl 7.29.0 (i686-pc-linux-gnu) libcurl/7.29.0
我正在做一个项目,用户将首先保存他的 gmail id 和密码,确认后,我将提供一个链接,下次无需输入他的 gmail id 和密码,直接登录 gmail.. 保存的密码将作为参数传递使用 CURL
如何使用 ASP.NET 3.5 和 C# 向 facebook 用户收件箱发送消息?我可以使用 fbAPI.Stream.Publish() 在墙上发布消息,但我需要将消息发送到收件箱,并且必须是个
我正在尝试通过 google 找到的这段代码,但它没有连接到我的 gmail 收件箱。为什么? 我收到此错误消息: --------------processing mails started---
我想将通过 C2DM 收到的消息发送到手机的 SMS 收件箱,并得出结论,这可能是通过让 Android 认为 C2DM 是真正的 SMS 并让它发挥其魔力来实现的。 我已经追踪了相当多的 Andro
我正在尝试从 Gmail 地址(或主题)获取特定电子邮件。我使用 selenium 是因为这个 gmail 帐户无法使用 imaplib。我卡在这里: driver.find_element_by_i
我使用修改自以下代码的一些代码成功连接并阅读我的 Outlook 收件箱:Reading e-mails from Outlook with Python through MAPI 。我想做的是在我的
我从这里得到了一个代码来下载 gmail 收件箱: http://davidwalsh.name/gmail-php-imap use these 2 hostnames $hostname = '{
我需要在 TableView 中显示其他参与者的姓名和图像,就像 Facebook 收件箱一样。我正在使用此 fql 查询来获取收件人。 - (void)readInbox { NSStrin
我是一名优秀的程序员,十分优秀!