关于沼泽锦葵6.0

时间:2016-01-04 09:07:37

标签: android android-6.0-marshmallow

我想澄清沼泽锦葵6.0的主要变化。

作为开发人员,我们需要了解哪些更改,而不是仅限用户或不影响开发的操作系统功能。

如果是这样,我们如何管理这些变化?示例我们需要停用功能,是否会导致应用程序崩溃,否则会打开设置页面并要求启用功能应用

我对最近的变化如何影响开发人员感到困惑,我正在寻找一些清晰度。

1 个答案:

答案 0 :(得分:1)

据我所知,没有必要启用或禁用功能,开发人员需要注意在创建或更新应用时他们正在开发的目标sdk。

最新升级中开发人员的最大变化是运行时权限。

取自:  的 Everything every Android Developer must know about new Android's Runtime Permission

  

尽管Android正在开发中,但Android M的最新更新完全不同,因为有一些重大更改会改变所有内容,例如新的运行时权限。令人惊讶的是,在Android开发者社区中并没有多少人谈论它,尽管它非常重要,并且在不久的将来可能会造成一些大麻烦。

     

... / ...

     

你可能已经感觉到有一股冷风吹过你的手臂......如果你是Android开发人员,你会突然知道编程逻辑完全改变了。您不能像以前一样调用函数来完成工作,但是您必须检查每个功能的权限,否则您的应用程序就会崩溃!

     

正确。我不会破坏你这很容易。虽然这对用户来说是件好事,但对于我们的开发人员来说却是真正的噩梦。我们必须将编码提升到一个新的水平,否则它肯定会在短期和长期都出现问题。

     

无论如何,这个新的运行时权限将像我们将应用程序的targetSdkVersion设置为23时所描述的那样,这意味着它已声明已经在API级别23上测试了应用程序。此功能仅适用于Android 6.0棉花糖。相同的应用程序将在Marshmallow之前的设备上以相同的旧行为运行。

这意味着在安装时不会请求用户权限,而是在运行时。这是使用权限请求完成的,并且可以由用户保存一次运行应用程序,或者默认情况下始终为'。始终可以在设备设置中撤消此权限。

由于api是向后兼容的,所以使用targer sdk<的应用程序运行的任何设备23仍然可以。

然而,如果没有实现运行时权限并且需要管理用户未能提供权限以阻止应用程序崩溃,则这些相同的应用程序将无法在Android设备> = 6.0上运行,目标sdk为23。

唯一需要运行时权限请求的manisfest权限是那些被视为危险权限级别的权限,因此访问个人信息,相机等。

对权限进行分组,一旦为组中的一个项目授予权限,则会为该组的剩余权限授予权限。

更多细节Sytem - Permissions