我最近开始学习如何开发Android应用程序,并且已经阅读了Android的官方文档。在阅读Intents
上的部分后,一些问题突然出现在我脑海中,我无法在Google上找到答案。
第一个问题是,Intent
似乎不鼓励开发人员重新发明轮子,这是正确的心态吗?许多Android应用程序似乎具有类似的功能,例如在手机上使用相机拍照。使用具有正确配置的Intent
可以允许访问其他组件(例如Camera应用程序)的功能。
我的第二个问题是明确的Intents
。根据我在阅读有关显式Intents
后的理解,如果应用程序开发人员知道类的完全限定名称(包括包名称),则可以访问某些功能。是什么阻止了一个开发人员猜测完全分类的类名并使用了另一个并不意味着共享的应用程序的功能?
答案 0 :(得分:1)
第一个问题你是对的。如果您的应用需要允许用户拍照,在地图上查找内容,编辑联系人等等,为什么在您可以将其传递给另一个可以执行相应操作的应用时自己实现这些功能的麻烦你想要然后将数据还给你?
关于问题二..如果您没有通过清单文件中的意图过滤器注册您的意图,那么其他应用程序将无法访问您的活动。例如,您可以构建一个Web浏览器应用程序,但如果您没有注册意图,系统将不会将其视为能够进行Web浏览的应用程序,因此不会将您的应用程序作为选项提供给用户点击某处的链接时。