我正在尝试学习本教程:
http://www.vogella.com/articles/AndroidCalendar/article.html
我了解 putExtra 的作用
但我不明白 setData() 是什么意思?
Android Docs,帮助不大:
设置此 Intent 操作的数据。
这对常数意味着什么
intent.setData(CalendarContract.Events.CONTENT_URI);
?
注释掉这一行似乎没有任何影响。
最佳答案
setData()
用于指向数据对象(例如文件)的位置,而 putExtra()
添加简单数据类型(例如短信文本字符串)。
这里有两个例子来说明:
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()
关于java - Intent.setData 与 Intent.putExtra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18794504/