1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. mak, 10.08.2009 #1
    mak

    mak Threadstarter Neuer Benutzer

    Hallo.
    Ich möchte SMS- Nachrichten eines bestimmten Senders aus der Inbox löschen und am liebsten so, dass der Benutzer auch nichts davon mit bekommt.

    Meine Idee war, einen BroadcastReceiver für einkommende SMS zu registrieren:

    <receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
    <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    </intent-filter>
    </receiver>

    Und im BroadcastReceiver die Inbox auf bestimmte Empfänger zu checken und diese dann zu löschen:

    Bundle bundle = intent.getExtras();
    SmsMessage[] msgs = null;
    if (bundle != null){
    Object[] pdus = (Object[]) bundle.get("pdus");
    msgs = new SmsMessage[pdus.length];
    for (int i=0; i<msgs.length; i++){
    msgs = SmsMessage.createFromPdu((byte[])pdus);
    if (msgs.getOriginatingAddress().equals("1234")){
    Cursor c = context.getContentResolver().query(Uri.parse("content://sms/inbox"), null ,null, null, null);
    int threadID = c.getCount();
    context.getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadID), null, null);

    Dies sollte dann die letzte Nachricht in der Inbox löschen.
    Aber die Nachrichten in der Inbox sind wohl nicht fortlaufend nummeriert,
    daher wird nicht unbedinigt die letzte Nachricht gelöscht.

    Irgendwelche Ideen dazu?
    Ideen, wie ich die Notification an den Benutzer unterdrücken kann?

    Danke für jede Hilfe.

    Mak
     
Du betrachtest das Thema "SMS aus Inbox löschen" im Forum "Android App Entwicklung",