Beiträge von _4k_

    Zitat von jogimuc

    Hast du die Permission auch zur Laufzeit beim User erfragt? Ab API 23 reicht es nicht mehr nur die Permission im Manifest zu setzen.

    Genau das wars! Hatte zwar überall gelesen, dass man die Permission braucht, aber nicht, dass man sie explizit im Programm abfragen muss. vermutlich waren die Beiträge die ich gefunden hatte wohl etwas älter. Danke!

    Hallo!
    Ich habe folgendes Problem, ich möchte ein Bild in einem ImageView anzeigen. Hierzu lasse ich ein Bild über die Gallery-App auswählen und bekomme hierbei die uri des Bildes. Da die uri ja nicht den tatsächlichen Pfad wiedergibt, ermittel ich den tatsächlichen Dateipfad und speichere diesen in eine Datei ab damit das Bild nach dem Neustart der App im ImageView wieder angezeigt wird. Jetzt habe ich allerdings das Problem, dass mir das Bild nicht angezeigt wird bei dem Versuch den Dateipfad wieder in eine uri "umzuwandeln". Hatte hier ein Beispiel mit dem MediaScannerConnection gefunden, allerdings erreicht er den Punkt "uriImage = uri" nicht.


    Java
    String path = "/storage/emulated/0/Download/Park-2.jpg";
    
    
    MediaScannerConnection.scanFile(this, new String[] { path }, null, new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                    uriImage = uri;
                }});
    
    
    iv.setImageURI(uriImage);



    Permission ist auf folgendes gesetzt:

    XML
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    Alternative hatte ich versucht es über ein Bitmap zu machen:



    Die Datei existiert, allerdings ist "myBitmap" null...



    Den Pfad ermittel ich über (habe ihn für Testzwecke oberhalb konstant in den Quelltext geschrieben):



    Meine Frage, was habe ich falsch gemacht? Gibt es vielleicht noch eine elegantere Möglichkeit ein Bild anhand von seinem tatsächlichen Dateipfad anzuzeigen? Oder Stimmt vielleicht etwas nicht mit der Methode den tatsächlichen Pfad zu bekommen?
    Ich bin leider etwas ratlos... Oder gibt es eine Methode von ImageView der ich einfach den Dateipfad gebe? Habe bei meiner Recherche dazu nichts gefunden.

    Hallo!
    Ich hätte da folgendes Problem:
    Ich versuche mir aktuell einen (Tee-)Timer zu schreiben. Dieser funktioniert sofern die App aktiv ist. Sobald das Display ausgeschalten ist, stimmt die dekrementierung von einer Sekunde nicht mehr.
    Verglichen mit einer realen Uhr, braucht der Timer z.b. statt einer Minute, eine Minute 25 Sekunden bis das Handy vibriert.



    Hierbei gehe ich folgendermaßen vor:


    Counter starten:

    Java
    public void startCountDown() {
            handler.removeCallbacks(runnable);
            handler.postDelayed(runnable,intervall);
        }


    Timerverarbeitung:



    Oder wäre ein Thread sinnvoller, da soweit ich das richtig gelesen habe, der Handler auf dem UI-Thread mit läuft? Abgesehen davon habe ich gelesen, das der Handler-Weg wohl der sauberer für sowas ein soll (UI-Updaten).
    Dann habe ich noch das Thema Service aufgegabelt. Habe dazu aber auch gelesen, dass Android auch diese willkürlich beenden kann.
    Oder wäre der Alarmanager sinnvoller? Hierzu habe ich gelesen, dass man diesen aber eher für Updateabfragen und Co z.B. aus dem Internet nutzt und eher weniger um das UI zu aktualisieren.


    Ich würde gerne den Timer universell schreiben um ihn dann später in anderen Projekten ggf. auch für längere Zeiten zu benutzen, daher sollte die Lösung wenn möglich unabhängig der Timerlänge sein.


    Konnte mir bisher aus den ganzen Sachen die ich gelesen habe keinen Schluss ziehen, was denn jetzt nun die sauberste Lösung ist...