Fehler bei getContentResolver().startSync()

  • Hallo,
    heute, am 2. April, habe ich mal wieder eine ernst gemeinte Frage:
    Nachdem ich in meiner App MusikZeit auch die Möglichkeit zum Löschen von Musiktiteln eingebaut hatte kam es mitunter zu Fehlern.
    Und zwar werden die ausgewählten Titel erst beim Beenden der App gelöscht, die Musikdatei über

    Code
    File zu_loeschen=new File(Zu_Loeschen_Liste.get(i).toString());
    if (zu_loeschen.exists())
    {
    	zu_loeschen.delete();			
    }


    und der Eintrag in der systmeigenen Mediendatenbank über

    Code
    getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,zu_suchen,null);


    Wenn dann die App schnell wieder neu gestartet wurde, dann war die systmeigenen Mediendatenbank noch nicht aktuakisiert, so dass es zu Fehlern bei Zugriff auf nicht mehr vorhandene Dateien gab.
    Weil in der Beschreibung getContentResolver().startSync als veraltet angegeben ist habe ich versucht das Sytem über

    Code
    getContentResolver().requestSync(android.accounts.Account, String, android.os.Bundle);


    dazu zu brigen, die Aktualisierung sofort durchzuführen.
    Aber bereits Eclipse zeigt einen Fehler, da diese Methode nicht auf MediaStore.Audio.Media anwendbar wäre.
    Dann habe ich es mit der veralteten Methode versucht, wo dann zwar ein Fehler auftritt, aber dennoch die systmeigenen Mediendatenbank aktualsiert wird.

    Code
    try
    {
    	getContentResolver().startSync(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null);
    }
    catch (Exception e) 
    {
    //	braucht nicht zu machen, ist ja sowieso zu Ende. Es gibt einen Fehler, 
    //  	aber die Datenbank wird wirklich aktualisiert.
    }


    Meine App läuft ab der Version 2.33.
    Wie ist dieses Verhalten zu erkären? Welchen grundsätzlichen Fehler mache ich dabei?


    Fragende Grüße, schmyura ^^

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!