В чем отличие?

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
dinizzzo
Сообщения: 1
Зарегистрирован: 18 май 2013, 16:08

В чем отличие?

Сообщение dinizzzo » 23 май 2013, 14:34

По нажатии на кнопку нужно вызвать стандартное диалоговое окно с выбором программы для открытия текстового файла. Если в отдельности устанавливать значения Data и Type для intent, то выбивает ошибку сразу после intent.setType():

Код: Выделить всё

String filePath = "/mnt/sdcard/test.txt";
Uri uri = Uri.fromFile(new File(filePath));
		
intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setType("text/plain");
intent.setData(uri);
Если сделать через intent.setDataAndType():

Код: Выделить всё

intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "text/plain");
То все нормально отрабатывает. В чем отличие между этими способами?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: В чем отличие?

Сообщение KamiSempai » 23 май 2013, 14:48

Читайте описание метода в документации
Там написано, что setData сбрасывает все установки setType(String) и setTypeAndNormalize(String).
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить