java - Intent.setData 与 Intent.putExtra

标签 java android api android-intent

我正在尝试学习本教程:

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/

相关文章:

java - 将JOGL打包成fat JAR

android - WebView、类型文件、相机和图像的输入

rest - 如何在 Postman 中自动获取 token

api - Instagram API 如何获取用户发表的评论?

c++ - 搜索商业 C++ 许可库

java - 将 CSV 文件导入 Oracle 数据库

java - 如何在java中的笔记本电脑之间创建adhoc网络?

java - 关于空指针异常避免安全措施

android - 恢复 Android Activity 时出现 SQLite 异常

java - Android MediaPlayer 需要很长时间来准备和缓冲