Ich entwickle eine Android App für Jellybean, KitKat und Lollipop und verschiedene andere Geräte.JellyBean verhält sich anders mit Bilderfassung
Zu Beginn des Projekts verwendete ich die Jellybean API-Bibliothek mit der Ziel-API 'anroid-18' unter Verwendung der 'Samsung Galaxy Note 2014 Edition'. Ein paar Monate später begann das Betriebssystem des Geräts, auf KitKat OS zu aktualisieren, also habe ich die Bibliothek in 'android-19' geändert, in der die Versionsnummer 4.4.2 ist.
Ich habe jetzt ein neues Gerät namens Galaxy S Tab 2.
Ich habe jetzt die drei Versionen und zwei Geräte und meine Standard-API ist 4.4.2.
Das Problem trat auf, wenn Bilder mit der App erfassen:
if (Build.VERSION.SDK_INT >= AlopexBuild.VERSION_SUPPORT.KITKAT) {
Intent mediaScanIntent
= new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.parse("file://"+ path);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
} else {
sendBroadcast(
new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ path)));
}
Der folgende Code hat kein Problem in Jellybean:
Intent mediaScanIntent
= new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri contentUri = Uri.parse("file://"+ path);
mediaScanIntent.setData(contentUri);
sendBroadcast(mediaScanIntent);
Warum ist das passiert?
Jellybean OS + Kitkat API = Fehler
Kitkat OS + Kitkat API = OK
Lollipop OS + KitKat API = OK
Problematische Code ist sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ path)));