您现在的位置:主页 > 视频空间 >
 
 

Google商店里的app是否比国内的好

时间:2020-05-17 14:21:09

并没有,该滥用权限的还是继续滥用,该不给权限不让用的还是不让用。举例:GooglePlay下载的微信,在启动时不给存储和电话权限仍然不让用。“启动时不给电话权限不让用”是中国统一推送联盟(挂靠电信终端产业协会,接受工信部业务指导)在其《Android绿色应用公约3.0》第二条就明确反对的规约:不在启动应用时强制请求『读取手机状态和身份(READ_PHONE_STATE)』权限。原因:IMEI(GSM)/MEID(CDMA)属于手机及其它具备移动通信功能的设备中不可变更或重置的唯一标识,同时也是手机在蜂窝网络通信中用以唯一识别终端的关键标识信息。IMEI/MEID不仅使得广告网络在设备的整个生命周期中实现用户的唯一甄别,还可能被用于蜂窝网络中的设备欺骗攻击,因此IMEI/MEID泄露是目前用户隐私和手机安全中的一个突出问题。这一权限的表述也具有相当的迷惑性,在Android6.0之后的运行期权限体系中依然未能获得足够清晰的风险披露。由于Android系统仅仅将其显示为『读取手机状态和身份』,使得大部分用户在应用请求此项权限时虽然困惑,但仍未意识到授予这个权限背后存在的安全隐患。鉴于越来越多的国家和地区开始实施更为严格的隐私保护政策(如欧盟的GDPR条例),尤其是对不可变更或重置的设备唯一标识的跟踪限制,Google在其应用市场的开发者协议中明确禁止将IMEI/MEID等永久唯一标识用于长期识别用户身份,详细说明请参阅官方文档。若应用中的某些功能(如通话相关的特性)依赖此权限,则只能在对应的功能交互中请求此权限。即便用户拒绝授予权限,不依赖此权限的功能仍须保持可用。涉及资金或财产安全的应用(如支付类、电子商务类),如果在安全风控中需要用到IMEI等永久唯一标识,可在必要时(非应用启动阶段)请求此项权限,但须向用户提供具有法律效力的用户隐私协议,明确包含针对设备永久唯一标识的使用范围和保护责任的说明。科普:『读取手机状态和身份(READ_PHONE_STATE)』权限属于『电话权限(permission-group.PHONE)』权限组的子权限,一旦同意该权限组下任何子权限,即可获得同权限组内的其他子权限。与『读取手机状态和身份(READ_PHONE_STATE)』权限同属一个权限组的子权限有『拨打电话(CALL_PHONE)』,这个权限是否很熟悉?另外,“不给存储权限不让用”也是《Android绿色应用公约3.0》第五条明确反对的规约:在Android5.0及以上版本的设备中,避免使用『读取/写入外部存储(READ/WRITE_EXTERNAL_STORAGE)』权限。(豁免:仅限文件管理类应用)原因:外部存储通常是用户私人照片、视频的保存位置,涉及用户的敏感隐私。除文件管理类工具,应尽可能避免使用此权限。Android设备现已普遍采用虚拟分区,内部存储和外部存储(ExternalStorage)实际上共享的是相同的物理存储位置和配额,因此不必担心存储空间内部比外部存储更容易耗尽。如果确有需要将应用的数据(或缓存)存入外部存储,或读写其它应用写入外部存储的数据,则需分“用户个人资料(如图片、文档)”、“应用私有数据”和“其它应用数据”三种情形分别应对:用户个人资料:如果仅仅是为了方便用户导出图片、视频、音频等媒体文件,供其它应用(比如微信)读取,建议使用Android5.0新增的API-Context.getExternalMediaDirs()。存储在此位置的文件,应用自身无需存储权限即可读写,而其它应用可通过MediaStore或者直接访问(需存储权限),用户还可以通过文件管理器方便访问。如需兼容Android4.4及以下版本,请以版本上限方式声明外部存储权限,在旧版本系统上直接读写外部存储。<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion="20"/>如果希望由用户自由决定文件存储的位置,可使用Android4.4引入的“存储访问框架(StorageAccessFramework)”,实现用简单的API和通用交互(类似于Windows下打开/保存文件时使用的标准对话框)无缝对接各种本地存储介质(如TF卡、USBOTG外置存储、NAS)及第三方云存储服务,为用户提供非常灵活的存取选择。如需兼容Android4.3及以下版本,请以版本上限方式声明外部存储权限,在旧版本系统上直接读写外部存储。<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion="18"/>如果需要对用户选定的文件或位置进行长期的文件读写(例如自动备份),可使用Android5.0及以上版本提供的API:ContentResolver.takePersistableUriPermission()应用私有数据:通常不建议写入外部存储,因为外部存储可被其它应用访问,存在数据安全风险,这意味着通常还需要对涉及用户隐私的数据额外加密保存。如果确有特殊原因需要将数据写入外部存储,Context.getExternalFilesDir()、Context.getExternalCacheDir()等相关API所返回的路径从Android4.4开始可供应用直接存取,无需任何权限。如需兼容Android4.3及以下版本,请以版本上限方式声明外部存储权限,在旧版本系统上直接读写外部存储。<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion="18"/>其它应用数据:常规应用不能访问其它应用保存在内部存储中的私有数据,但可以在用户的显式授权下访问其它应用保存在外部存储中的数据文件(或整个文件夹)。具体操作方式与上述“用户个人资料”类似,可以在请求ACTION_OPEN_DOCUMENT时添加DocumentsContract.EXTRA_INITIAL_URI给出默认路径引导用户选择对应的位置。这些本应该在安卓系统本身、应用商店审核规范的内容,不应该由一个对安卓应用没有制约性的协会来“倡议”。参考资料:为什么最近好多APP需要赋予拨打电话的权利?Android绿色应用计划
共有评论 11相关评论
发表我的评论
  • 大名:
  • 内容: