Telephony: Mock SMS (2/4)
This change brings the possibility of simulate the reception of SMS on real devices. This change adds a MockSmsReceiver inside SMSDispatcher that have a BroadcastReceiver listening for Intents.MOCK_SMS_RECEIVED_ACTION actions. This class accept the SMS simulation if and only if Settings.Secure.ALLOW_MOCK_SMS is enabled and the sender application has the "android.permission.SEND_MOCK_SMS" permission. This receiver should be used in the next way: Devs should declare <uses-permission android:name="android.permission.SEND_MOCK_SMS" /> and call it with: Intent in = new Intent(Intents.MOCK_SMS_RECEIVED_ACTION); in.putExtra("scAddr", "+01123456789"); in.putExtra("senderAddr", "+01123456789"); in.putExtra("msg", "This is a mock SMS message."); sendBroadcast(in); or String pdu = "07914151551512f2040B916105551511f100006060605130308A04D4F29C0E"; byte[][] pdus = new byte[1][]; pdus[0] = HexDump.hexStringToByteArray(pdu); Intent in = new Intent(Intents.MOCK_SMS_RECEIVED_ACTION); intent.putExtra("pdus", pdus); sendBroadcast(in); Ported from http://review.cyanogenmod.org/#/c/23017 + Some changes: * Move receiver to ImsSMSDispatcher class * Send message as SMS_DELIVER_ACTION action, so it send to the registered SMS app Change-Id: I14cab3d8ceb484df71a676dcfa44ca1634be908d Signed-off-by:Jorge Ruesga <jorge@ruesga.com>
Loading
Please register or sign in to comment