为什么Facebook Home不需要任何许可?


11

我最近在HTC One X上尝试了Facebook Home。所以几个小时后我将其卸载了。

但事实是,它不需要任何特殊许可。实际上,不需要任何权限,并且其大小小于300 KB。为什么?如果Facebook可以管理少于300 KB的启动程序,那么为什么其他启动程序如此繁重且需要这么多权限?


3
我以为Home应用需要Facebook应用和Messenger应用才能运行,您是否检查了它们的组合权限?
onik 2013年

1
@onik:刚刚检查了我的Facebook应用程序和Messenger应用程序的权限,您说对了,它具有的权限,例如directly call phone numbers赞!现在这让我担心。那么这是否意味着Home应用已经存在于Facebook应用中?
Naveen

Answers:


20

Facebook Home应用程序本身并不能做很多事情。它从主要的Facebook应用程序获取所有数据,因此不需要访问Internet。从启动器执行任何操作都使用了启动Facebook主应用程序的意图,因此它不需要(例如)访问您的位置或拍照以发表帖子:仅Facebook主应用程序可以。

再举一个例子,假设您使用Facebook Home来“喜欢”某些东西。Facebook Home不会转到Facebook的服务器:它告诉主要的Facebook应用程序(在您的手机上,因此不使用互联网)“喜欢”这个东西。然后,主要的Facebook应用程序(确实具有Internet许可)使用Internet告诉Facebook服务器有关“喜欢”的信息。

大小也一样。所有Facebook功能,同步代码,自定义按钮图形,库等都在主Facebook应用程序中,那么为什么要在Facebook Home中复制它们?Facebook Home可能只有一些用于布置主屏幕的代码,一些图标,以及Android需要了解的信息,该应用程序是启动器。

这些应用程序可以由同一开发人员使用,因此可以彼此使用。(实际上还不止于此,但这是第一个要求。)Android通过查看每个应用程序上的签名以检查它们是否都使用相同的私钥签名来验证这一点:在这种情况下,这是Facebook(公司)。没有此私钥,其他开发人员将无法创建可以使用Facebook应用程序的其他应用程序(或修改此应用程序)。

应用也可以创建一种新的权限。因此,作为示例,主要的Facebook应用程序可以创建“读取我的Facebook时间轴”权限,然后编写一个应用程序Dan's Bookface,该应用程序可以请求该权限,以便直接从Facebook应用程序中读取时间轴,无需“互联网”权限。安装Dan's Bookface时,您将在权限列表中看到“阅读我的Facebook时间轴”,就像您对系统内置的权限所做的一样。


那么,基本上90%的Home已经存在于Facebook应用中?
Naveen

1
是; 我可能会去95%。我认为值得一提的是,他们这样做是为了消除有关Facebook Home拥有大量访问您设备(无论如何Facebook)的偏执狂的想法。
Kezz101

@ Kezz101您是否有声称可以使用户感觉更好的消息来源?从工程角度来看,这是编写应用程序的明显方法。
Dan Hulme

1
尽管我们都同意,越少的权限看起来越好,但该文章中没有建议以这种方式编写Facebook Home是使用户感觉更好的故意选择。在没有证据的情况下,这是一个非常有力的主张,尤其是在这样的站点上,该站点侧重于可证实的客观事实,而不是观点。
Dan Hulme

2
如果它不使用Internet, 那么赞和评论如何工作?
RobinHood

7

从Play商店上的“最新动态”页面中,了解当前版本的Facebook应用(v3.1,2013年4月18日):

  • 上传照片更快
  • 如果安装了Facebook Messenger,则在使用其他应用程序时获取聊天头以保持聊天状态
  • 设置Facebook Messenger和Facebook Home的新权限,您可以单独安装:http : //www.facebookhome.com
  • Bug修复

(我的重点)

因此,Facebook Home应用程序肯定会从Facebook主应用程序中获取数据,并在主应用程序的权限中“背负”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.