Android 6 新功能介绍

Android 6 新功能介绍

android-6-marshmallowCorona Labs 很高兴地宣布在每日构建版本 2016.2828及更高版本中初步支持 Android 6 “棉花糖”。这为 Android 开发人员带来了一些重大变化和改进。

概述

Android 6 引入了一些非常棒的变化。其中最重要的一个涉及“按需权限”,它的行为更像 iOS,即您可以延迟请求权限,直到您需要它,而不是从一开始就请求多个权限。

在 Corona 方面,Android 6 的一些新增和更改包括:

  • native.showPopup() 中添加了在应用程序中的适当时间请求权限的功能,以及处理用户对这些请求的响应的方法。
  • 添加了 native.canShowPopup(),用于检查您是否在支持请求权限的平台上。
  • 添加了与已授予或拒绝的权限相关的 system.getInfo()
  • 增强了 media.hasSource(),以检查是否存在摄像头以及应用程序是否有权访问它。
  • 现在,需要权限的现有 Lua API 将提示用户。默认情况下,这些行为将类似于 iOS 上的权限请求。

重要提示

对于任何新版本,您应该了解一些已知问题:
  • 在 Android 的 危险权限和权限组 表中使用任何权限的插件都有崩溃的风险。插件开发人员应该针对 每日构建版本 2016.2828 或更高版本进行测试,以查看其插件是否可能需要更新以支持新的权限框架。随着我们越来越接近下一个公开发布版本,我们将提供有关该过程的更多信息。
  • 使用扩展文件的应用程序应该在启动前授予 STORAGE 权限。
  • 运行时权限模型对 system.getInfo("deviceID") (参考) 引入了行为更改,这使得用户可以操纵此 API 调用返回的值。根据用户的操作,这可能会对应用程序正在收集的、依赖于此 API 结果保持一致性的分析产生负面影响。有关如何处理此问题的更多详细信息,请参阅 文档。另请注意,您必须重新启动应用程序才能看到相关更改。

反馈和问题

我们希望获得您对 Android 6 和新 API 的反馈。请通过提交 错误报告 让我们知道您遇到的任何问题。请记住,错误报告应包含最少的代码(main.lua)以显示问题,以及 config.luabuild.settings。如果您的项目需要任何美术或声音,请确保它们也包含在提交的项目中。

Rob Miracle
[email protected]

Rob 是 Corona Labs 的开发者关系经理。除了热衷于帮助其他开发者使用 Corona 制作出色的游戏之外,他还喜欢在业余时间制作游戏。自 1979 年以来,Rob 一直在编写游戏代码,从个人电脑到大型机。他在游戏行业拥有超过 16 年的专业经验。

5 条评论
  • Scott Harrison
    发布于 18:56,2月16日

    Google Play 游戏保存?

  • Ian
    发布于 04:01,2月17日

    好消息。我假设这意味着 Android 构建现在是 API 23?在与 Google Play 交谈时,这应该会让 Google Play 更加满意。

    • Alexander McCaleb
      发布于 17:16,2月24日

      是的,Android 构建现在以 API Level 23 为目标。因此,如果您使用此版本或新的公开发布版本 2016.2830 构建应用程序,则应用程序中可能会出现重大行为更改。

  • Simon
    发布于 00:55,2月19日

    那么...我们是否仍然可以在 build.settings 文件中设置一些权限?或者我们是否必须完全按需设置,或者将所有内容保留在 build.settings 中?例如,如果我有一个权限,我想让用户在下载之前知道,但在应用程序中我想请求使用麦克风的权限,这样可以吗?

    • Alexander McCaleb
      发布于 17:26,2月24日

      通过此更新,无需对 build.settings 进行任何更改。您仍然会像以前一样包含您的应用程序使用的所有权限。

      对于以 Android 6 为目标的应用程序,当它从 Google Play 下载时,它不再显示一个详细说明应用程序需要的所有权限的对话框。相反,用户可以通过滚动到您的应用程序的 Google Play 页面上的“权限详细信息”部分,在下载之前获取有关您的应用程序的所有权限详细信息。