Android: erste Datei, die Größe von Bildern, bevor Sie Sie zu teilen (Intent.ACTION_SEND)

Habe ich erfolgreich schrieb eine app, basiert auf diesem blog-post, ist aber einfacher, die streams ein Bild über HTTP, mit einer POST-Anforderung.

Was ich nicht herausfinden können (nach der Suche im web und kriechen im inneren android-SDK-docs) ist, wie bekomme ich die Größe des Bildes, bevor ich es teilen?

Gibt es nur eine Möglichkeit zum öffnen eines input-Streams, die ich sehe, in der exampkle und überall sonst:

ContentResolver cr = getContentResolver();
InputStream is = cr.openInputStream(uri);

Den gegebenen blog-post-Beispiel verwendet getBytesFromFile(is), so bekommt man in der Größe gibt, aber das ist nicht eine Lösung. Einige Bilder sind riesig, während android-apps beschränkt heap space. Ich möchte meine Anwendung für alle denkbaren Größen der Bilder (kein problem, wenn die Freigabe über Wifi).

Dafür, die einzige option für mich ist "vor" input-stream, um einige HTTP-stream-Ausgabe, die ich tun, und die funktioniert auch. Aber dieser Ansatz nicht geben Sie mir die Bildgröße vor dem versenden.

Schreibe einen Kommentar