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

时间:2011-05-10 19:47:32

标签: android sms send

我想在我的应用程序中将某些信息显示为短信。 但是SmsManager和BroadcastReciever无法创建短信并在手机上通知。

如何以编程方式向自己发送虚假短信?任何想法,变通方法或任何研究课程......?

感谢。

2 个答案:

答案 0 :(得分:5)

概念证明

拨打短信列表

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"/>

ISSUE 之后没有事件,因此如果有新的消息,android就不知道。

答案 1 :(得分:1)

您可以从另一个Android Emulator实例发送短信。这可以通过Eclipse中的Emulator控件View或使用Telnet来完成。