all, < /p>
Я получаю следующую ошибку при попытке создать растровый карту из дескриптора файла, работающего на Android (v18): < /p>
java.io.IOException: read failed: EBADF (Bad file number)
at libcore.io.IoBridge.read(IoBridge.java:435)
at java.io.FileInputStream.read(FileInputStream.java:179)
at java.io.BufferedInputStream.fillbuf(BufferedInputStream.java:168)
at java.io.BufferedInputStream.read(BufferedInputStream.java:309)
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:530)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:603)
< /code>
Это отмечает процесс декодирования, где он начинается. Мой код заключается в следующем < /p>
MyNativeCallClassClient client = new MyNativeCallClassClient();
final int fileDescriptor = client.NativeMethodCallGetFD(getShared_memory_name(), getShared_memory_size());
try {
Log.d(TAG, "file descriptor number: " + fileDescriptor);
ParcelFileDescriptor fd = ParcelFileDescriptor.fromFd(fileDescriptor);
FileDescriptor realFD = fd.getFileDescriptor();
Bitmap aBitMap= BitmapFactory.decodeFileDescriptor(realFD);
Log.d(TAG, "BitMap Generated: byte count: " + aBitMap.getByteCount() + ", height: " + aBitMap.getHeight() + ", width: " + aBitMap.getWidth());
}
catch (IOException ex) {
Log.e(TAG, "Issue with decoding file descriptor", ex);
}
< /code>
Примечание. У меня есть собственные вызовы, которые дают мне дескриптор файла как int, поэтому я должен сделать перевод там (и я получаю допустимый номер). .. В любом случае, я проверяю все используемые переменные, и они не являются нулевыми до точки «decodefiledescriptor (...)». Я также позаботился о том, чтобы у меня были следующие разрешения в Android: < /p>
< /code>
Кроме того, я даже попытался разместить блок синхронизации вокруг кода, перечисленного выше, чтобы убедиться, что не было проблемы с потоком (не должно быть, но сделано на всякий случай. ) Есть мысли? Надеюсь, я дал достаточно информации. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/366 ... -descripto
Android Java IOException Reade не удалось EBADF (плохой номер файла) из дескриптора файла/входного потока ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка чтения входного потока при чтении потока WinSCP Session.GetFile из другого потока
Anonymous » » в форуме C# - 0 Ответы
- 68 Просмотры
-
Последнее сообщение Anonymous
-