Добрый день, я новичок в андроид разработке, у меня есть такая задача, нужно что бы из галереи телефона можно было поделиться через мое приложение файлами, далее я эти файлы должен отправить на бэк по http,
я добавил в манифест файл фильтер, приложение появилось в shar меню.
Создал Activity и методы, первый который получает файлы, второй который отправляет
метод получающий файлы
private void onSharedIntent() {
Intent receiverdIntent = getIntent();
String receivedAction = receiverdIntent.getAction();
String receivedType = receiverdIntent.getType();
if (receivedAction != null && receivedAction.equals(Intent.ACTION_SEND)) {
Uri receiveUri = (Uri) receiverdIntent.getParcelableExtra(Intent.EXTRA_STREAM);
if (receiveUri != null) {
//do your stuff
Uri fileUri = receiveUri;// save to your own Uri object
File file= new File(fileUri.getPath());
sendFile(file);
}
} else if (receivedAction != null && receivedAction.equals(Intent.ACTION_MAIN)) {
Log.v(TAG, "onSharedIntent: nothing shared");
}
}
в вызове метода sendfile я получаю ошибку
FileNotFoundException: /-1/1/file:/data/user/0/com.google.android.apps.photos/cache/share-cache/media.tmp?filename=australia-lamenting-light-lake-view-landscapce%20(1).jpg/ORIGINAL/NONE/512356494: open failed: ENOENT (No such file or directory)
примерно вот так я добавляю файл в body
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(),
RequestBody.create(MEDIA_TYPE_PNG, file))
.build();
Подскажите пжл что я не правильно делаю?