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-приложения. Спасибо!

0 ответов

Другие вопросы по тегам