Мой вопрос прост. Возможно ли каким-то образом передать дополнительные данные с Intent.ACTION_GET_CONTENT
, который Activity
получает Intent
в его onActivityResult()
может зачитать?Можно ли передавать дополнительные данные с помощью Intent.ACTION_GET_CONTENT
На данный момент я попытался передать некоторые данные с помощью стандартного putExtra()
, но эти данные исчезают на пути моей деятельности. Использование следующего кода для настройки намерения.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
intent.putExtra(CURRENT_REQUEST_CODE_TAG, getTargetRequestCode());
getActivity().startActivityForResult(intent, ADD_SIGNAL_REQUEST_CODE);
И, как я уже сказал, дополнительные данные исчезли, когда я получил намерение в своей деятельности. Есть ли способ пометить или настроить намерение, чтобы оно содержало дополнительные данные или что-то еще, что я пропустил?
Если это невозможно, есть ли какой-либо другой способ по умолчанию/стандарту? Заметка. Я бы не хотел использовать для этого «Общие настройки».
Спасибо!
Update
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
int currentRequestCode = data.getIntExtra(CURRENT_REQUEST_CODE_TAG, -1);
}
В моей onActivityForResult(), то getIntExtra()
всегда возвращает значение по умолчанию, равное -1, а не тот, я настроил мои намерения с, что должно быть значение 9 или 10. Это говорит мне что дополнительные данные были потеряны, а отладка объекта данных подтверждает мои подозрения, аргумент намерения не содержит никаких дополнительных данных.
Кажется, что намерение, которое я отправляю, не то же самое, что получено в моем onActivityResult(). Я понимаю это поведение, потому что в моем случае открывается список файлов Android по умолчанию и позволяет пользователю выбрать файл с правильным типом MIME, и когда пользователь выбирает файл, я предполагаю, что новый Intent создается с URI для выбранного файла, но почему лишние данные исчезают, не следует ли их хранить?
Im любопытно: Вы пробовали настройки действий для общего Intent? Например {Intent intent = new Intent(); intent.setAction (Intent.ACTION_GET_CONTENT); intent.putExtra (...)}, плюс Возможно, вы захотите проверить вопрос # 25622235 – brainovergrow