Override Standard Android Messaging-Anwendung

Ich möchte die Standard-Android-Messaging-Anwendung überschreiben. Wenn ich eine SMS oder MMS erhalte, möchte ich das per E-Mail senden, aber ich möchte keine Benachrichtigung am Telefon. Im Grunde möchte ich die Standard-Messaging-Anwendung ersetzen.

Wie kann ich meine Anwendung zur Standardanwendung machen, die die SMS empfängt?

Danke vielmals. Genau das brauche ich. Aber ich habe noch ein Problem. Ich habe den Empfänger zum Abrufen der Nachricht verwendet, weiß aber nicht, wie ich die Nachricht im Telefon finden und als gelesen markieren kann.

public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    //---get the SMS message passed in---
    Bundle bundle = intent.getExtras();        
    SmsMessage[] msgs = null;
    String str = "";            
    if (bundle != null)
    {
        //---retrieve the SMS message received---
        Object[] pdus = (Object[]) bundle.get("pdus");
        msgs = new SmsMessage[pdus.length];            
        for (int i=0; i<msgs.length; i++){
            msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                
            str += "SMS from " + msgs[i].getOriginatingAddress();                     
            str += " :";
            str += msgs[i].getMessageBody().toString();
            str += "\n";        
        }
        //---display the new SMS message---
        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

        //---find and mark the messages as read---
        Uri uriSms = Uri.parse("content://sms/inbox/");
       try{
        Cursor c = context.getContentResolver().query(uriSms, null,null,null,null);
            //---code to find the message by body and sender---
            ...

    }

Gibt es eine Möglichkeit, die Nachricht wie eine ID zu identifizieren? Jetzt finde ich die Nachricht, die die Postfach- und Absendernummer für alle Nachrichten im Posteingang vergleicht.

anke, Ra

Antworten auf die Frage(6)

Ihre Antwort auf die Frage