Ответ 1
setData()
используется для указания местоположения объекта данных (например, файла), а putExtra()
добавляет простые типы данных (например, текстовая строка SMS, например).
Вот два примера для пояснения:
setData()
используется здесь для определения местоположения файла, который вы хотите предоставить.
File fileToShare = new File("/sdcard/somefile.dat");
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.setData(Uri.fromFile(fileToShare));
startActivity(i);
putExtra()
используется здесь для установки текстового содержимого, которое вы хотите предоставить.
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
string textBodyString = "some text";
i.putExtra(Intent.EXTRA_TEXT, textBodyString);
i.setType(HTTP.PLAIN_TEXT_TYPE);
Для получения дополнительной информации я предлагаю прочитать некоторые Intents и setData()
, setType()
и setDataAndType()