Предположим, что приложение получает поток контента при вызове с помощью фильтра android.intent.action.SEND.Также предположим, что Uri и поток принимаются следующим образом:
Uri contentUri = (Uri) extras.get(Intent.EXTRA_STREAM);
InputStream in = getContentResolver().openInputStream(contentUri);
Теперь, как я могу определить общую длину контента, не читая весь поток?Это вообще возможно?in.available () не обязательно точен, поэтому я предполагаю, что сначала мне нужно прочитать поток до конца, сначала?
Содержание может быть очень большим, например, около 50 МБ или более.Так что я бы предпочел прочитать его только один раз.