2016-02-27 2 views
0

У меня есть приложение s работает над процессом AIDL IPC, и я хочу поделиться потоком между процессом (Мое приложение и процесс AIDL), то как это сделать. Я знаю, что мы можем отправлять только примитивные типы данных и возможные объекты с помощью helpl, но мое требование - отправлять поток ввода и вывода в процесс help. как достичь этого.Как отправить поток (InputStream/OutputStream) в helpl?

ответ

1

Вы можете использовать ParcelFileDescriptor.createPipe(). См. ParcelFileDescriptorUtil из библиотеки API OpenKeychain.

Вызывающее приложение использует один ParcelFileDescriptor для чтения (или записи), другой передается принимающему приложению и использует его для записи (или чтения).

0

Вы не можете отправить поток напрямую через AIDL.

Возможно, вам потребуется обернуть поток данных в ContentProvider, поскольку это поддерживает потоковое вещание. Затем передайте Uri, указывая на вашего провайдера и его поток через AIDL.

В зависимости от того, из чего идет поток, вы можете получить ParcelFileDescriptor для базовых данных и которые могут быть переданы через AIDL.

Смежные вопросы