Android: отображение полученного SMS
Я создаю приложение для ОС Android, которое позволяет пользователю отправлять зашифрованные SMS другим пользователям. Но у моего приложения есть только интерфейс для отправки SMS, а не для его отображения. Когда приложение получает SMS, я не хочу расшифровывать его, а затем каким- то образом показывать дешифрованное SMS через встроенное приложение SMS. Есть ли способ сделать это? На данный момент мой приемник просто показывает SMS с помощью тоста. Вот код получателя (он не полный, но вы поймете):
public class SMSReceiver extends BroadcastReceiver{
private static final byte HANDSHAKE_ID = (byte) 120;
private static final byte ENCRYPTED_ID = (byte) 125;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle pudsBundle = intent.getExtras();
Object[] pdus = (Object[]) pudsBundle.get("pdus");
SmsMessage messages = SmsMessage.createFromPdu((byte[]) pdus[0]);
Log.i("Message: ", messages.getMessageBody());
String msgBody = messages.getDisplayMessageBody();
byte[] msgBytes = msgBody.getBytes();
if ( msgBytes[0] == HANDSHAKE_ID ) {
//Obtain secret key from message
//TO-DO
Toast.makeText(context, "Received a secret key from: " + messages.getOriginatingAddress(), Toast.LENGTH_LONG).show();
} else if ( msgBytes[0] == ENCRYPTED_ID ) {
//Obtain encrypted message
//TO-DO
Toast.makeText(context, plainText, Toast.LENGTH_LONG).show();
}
}
Также, если возможно, я хочу запретить другим приложениям видеть (получать) сообщение, если первый байт сообщения является одной из следующих констант: HANDSHAKE_ID или ENCRYPTED_ID и отображается после расшифровки? Но главная проблема, которую я не хочу решать, это как показать текст с помощью встроенного в Android SMS-приложения. Спасибо!