[英]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)
。 有什么办法可以访问此方法?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.