# 魅族 M9 确实封闭了一些软件接口，为了打造自己的生态圈

- 作者：张恒
- 发布时间：2010-12-20 21:20
- 分类：公司
- 原文：https://www.ifanr.com/28343

[![PrtScn20101220205823](https://s3.ifanr.com/wp-content/uploads/2010/12/PrtScn20101220205823_thumb.jpg)](https://s3.ifanr.com/wp-content/uploads/2010/12/PrtScn20101220205823.jpg)

先看这两张截图，左边是魅族 M9 “帐户与同步”的界面，右边是 M9 运行 Skype 时报错的界面。这两张图说明了什么问题？如果你是一名开发者，或许已经猜出个大概：M9 作为一台深度定制的 Android 手机，已经故意封闭了一些软件接口，例如手机通讯录的接口。

Skype 在启动时需要调用到手机通讯录接口，但 M9 拒绝了 Skype ，导致它获取不到手机号码，所以程序报错，无法继续运行。

那么“帐户与同步”又是什么情况？现在它只能用魅族论坛的帐户登录，进去之后可以看到如下信息：

![PrtScn20101220211141](https://s3.ifanr.com/wp-content/uploads/2010/12/PrtScn20101220211141.png)

没错，这就是未来魅族程序商店和音乐商店的支付渠道，这就是 J.W 理想的 iTunes ，一个只属于魅族自己的生态圈。

那么，对开发者有什么影响呢？这意味着你要使用魅族提供的 SDK 才能调用到这些接口。

或许这也带来一个好处，就是把乱七八糟的扣费软件和流氓软件拒之门外，让 M9 更安全一些。

**更新：** 此外有人提到：“联系人接口是不会通过魅族的 SDK 提供的，只供魅族自己内部使用。”

**更新2：**文章后有读者评论：一，手机上其实是无法取得本机的手机号码的，一般只能取到IMSI（SIM 卡序列号）；二，Skype 如果（根据IMSI 等）检测到一些不支持的运营网络，也是会有这个提示的。

所以，这个提示，其实跟手机通讯录无关，倒不如猜测一下，认为是魅族关闭了软件获取IMSI 的接口。  
 但是这个猜测仍然可能不成立，因为获取IMSI 需要“android.permission.READ_PHONE_STATE”权限，如果魅族（深度地）把这个权限声明修改为 “meizu.permission.READ_PHONE_STATE”，即让软件代码不需要改动，只需要重新打个包——这是代价最小的改动了——也是 有可能导致为android 设计的Skype 跳出这个错误提示的。
