如何在不使用移动网络的情况下向自己发送虚假短信?

发布于 2024-11-06 10:34:32 字数 138 浏览 0 评论 0原文

我想在我的应用程序中以短信形式显示一些信息。 但SmsManager和BroadcastReciever不能在手机本身上创建短信和通知。

如何以编程方式向自己发送虚假短信?有什么想法、解决方法或任何研究课程......?

谢谢。

I want to show some information as an sms in my application.
But SmsManager and BroadcastReciever can not create sms and notify on phone itself.

How can I send a fake sms to myself programmatically? Any ideas, workarounds or any class for research... ?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稚气少女 2024-11-13 10:34:33

您可以从 Android 模拟器的另一个实例发送短信。这可以通过 Eclipse 中的模拟器控制视图或使用 Telnet 来完成。

You can send SMS from another instance of Android Emulator. That could be done through Emulator control View in Eclipse or using Telnet.

独木成林 2024-11-13 10:34:32

概念验证

呼叫短信列表

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

读取短信

cursor c= getContentResolver().query(uri, null, null ,null,null); 
        startManagingCursor(c);
        c.moveToFirst();  

            String body = c.getString(c.getColumnIndexOrThrow("body")).toString();
            String number = c.getString(c.getColumnIndexOrThrow("address")).toString();

        c.close(); 

        Toast.makeText(getApplicationContext(), number, Toast.LENGTH_LONG).show();

写入短信

ContentValues values = new ContentValues();
        values.put("address", "SENDER");
        values.put("body", "foo bar");
        getContentResolver().insert(Uri.parse("content://sms/inbox"), values);

清单

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

问题
此后没有任何事件,因此 Android 不知道是否有新消息。

PROOF OF CONCEPT

Call SMS list

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

READ SMS

cursor c= getContentResolver().query(uri, null, null ,null,null); 
        startManagingCursor(c);
        c.moveToFirst();  

            String body = c.getString(c.getColumnIndexOrThrow("body")).toString();
            String number = c.getString(c.getColumnIndexOrThrow("address")).toString();

        c.close(); 

        Toast.makeText(getApplicationContext(), number, Toast.LENGTH_LONG).show();

Write SMS

ContentValues values = new ContentValues();
        values.put("address", "SENDER");
        values.put("body", "foo bar");
        getContentResolver().insert(Uri.parse("content://sms/inbox"), values);

MANIFEST

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

ISSUE
There is no event after that therefore android doesnt known if there is some new message.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文