繁体   English   中英

如何伪造发送短信和系统通知? 程序化方法?

[英]How do I fake send SMS messages AND a system notification? Programmatical approach?

更新:首先说明一下:我正在寻找一种编程方式。 我知道使用仿真器很容易实现,但是我正在寻找一种在手机上的实际应用中实现它的方法。

我已经玩了一段时间了,尽管我可以使用以下命令将消息写入收件箱或发件箱

ContentValues values = new ContentValues();
values.put("address", "5551");
values.put("body", "the text of this message");
getContentResolver().insert(Uri.parse("content://sms/inbox"),values)

而且当然

<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>

WRITE_SMS仅用于以下某些内容,因为使用我尝试的所有方法,我无法使系统接收通知。 我曾考虑过调查内置SMS应用程序的代码,但找不到它。

这是我尝试过的事情:

context.getContentResolver().notifyChange(Uri.parse("content://sms/inbox",null);

具有相同的非效果,例如:

Intent intent = new Intent("android.provider.Telephony.SMS_RECEIVED");
byte[] b = (byte[])(SmsMessage.getSubmitPdu("5551","5552","some_text",false).encodedMessage);
Object[] vrs = {b};
intent.putExtra("pdus",vrs);
sendBroadcast(intent);

作为一种解决方法,我现在将其称为sms-list:

Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(new ComponentName("com.android.mms","com.android.mms.ui.ConversationList"));
startActivity(intent);

有什么想法或提示吗?


好的,所以我一直在浏览android代码,尤其是http://www.java2s.com/Open-Source/Android/android-platform-apps/Mms/com/android/mms/transaction/MessagingNotification.java.htm

据我了解,我要做的就是在编写SMS后调用公共静态MessagingNotification.blockingUpdateAllNotifications(context) 有什么办法可以访问此方法?

使用DDMS中的“仿真器控件”部分将测试短信/文本发送到仿真器。 您还可以输入发送短信的伪造号码。

在此处输入图片说明

在开发指南的“使用DDMS”文档的“欺骗性呼叫或SMS短信”部分下,可以找到更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM