Страница 1 из 1

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

Добавлено: 23 май 2013, 14:34
dinizzzo
По нажатии на кнопку нужно вызвать стандартное диалоговое окно с выбором программы для открытия текстового файла. Если в отдельности устанавливать значения 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");
То все нормально отрабатывает. В чем отличие между этими способами?

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

Добавлено: 23 май 2013, 14:48
KamiSempai
Читайте описание метода в документации
Там написано, что setData сбрасывает все установки setType(String) и setTypeAndNormalize(String).