1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  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
     

Diese Seite empfehlen