【发布时间】:2011-08-22 18:33:13
【问题描述】:
我想在我的应用程序中以短信形式显示一些信息。 但是 SmsManager 和 BroadcastReciever 不能在手机上创建短信和通知。
如何以编程方式向自己发送假短信?有什么想法、解决方法或任何研究课程...?
谢谢。
【问题讨论】:
我想在我的应用程序中以短信形式显示一些信息。 但是 SmsManager 和 BroadcastReciever 不能在手机上创建短信和通知。
如何以编程方式向自己发送假短信?有什么想法、解决方法或任何研究课程...?
谢谢。
【问题讨论】:
概念证明
通话短信列表
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不知道是否有新消息。
【讨论】:
您可以从另一个 Android Emulator 实例发送 SMS。这可以通过 Eclipse 中的 Emulator control View 或使用Telnet 来完成。
【讨论】: