为什么GeneXus在我的Android应用程序中使用READ_PHONE_STATE权限?

时间:2017-02-03 10:57:36

标签: genexus genexus-sd

所以我在Play商店中使用GeneXus生成了一个应用程序,我从商店收到了以下电子邮件:

  

[...]政策问题:Google Play要求开发者在应用请求或处理敏感用户或设备信息时提供有效的隐私权政策。您的应用需要敏感权限(例如相机,麦克风,帐户,联系人或电话)或用户数据,但不包含有效的隐私权政策。 [...]

所以我去了开发者控制台,在隐私警察部门发现了这个问题(翻译自葡萄牙语):

  

您的应用有一个版本代码为40的APK,需要这些权限:android.permission.READ_PHONE_STATE。在APK中使用这些权限需要隐私警察。

所以我的问题是:我在GeneXus中使用什么需要此权限?我从ClientInformation对象获取NetworkId,是吗?

1 个答案:

答案 0 :(得分:5)

是的,这正是原因。获取IMEI号的Android method(以及GeneXus应用程序调用以获取它)需要READ_PHONE_STATE权限才能执行。这是可以理解的,因为它被认为是私人信息。

关注Android' Best Practices for Unique Identifiers我建议改用ClientInformation.Id属性。作为奖励,它不会持续超过设备擦除,在99%的情况下是预期的行为(除非应用程序仅安装在受控设备中,如果它&#似乎不是这样的话#&# 39;发表于Play商店。)

如果您决定采用此路线,请记住将请求发送设备信息属性重置为false。

(注意:从GeneXus 15 U3开始,属性名称已经/将被更改为在客户端信息中包含网络ID ,因为旧名称容易混淆)。