Android:将API级别更改为23会影响清单中的权限设置方式吗?

时间:2016-09-07 12:50:26

标签: android gradle permissions android-manifest

我不是真正的Android开发专家,所以请耐心等待。

我要将应用从Android 19更改为23. Android API 23改变了权限的工作方式。那么API 23中发生的事情是,它不是在App安装中询问权限,而是要求运行时的权限。

我的问题是,我是否需要更改Andoid清单中我的权限设置方式?因为我试图在build.gradle中将API更改为23,所有内容似乎仍然无效。

2 个答案:

答案 0 :(得分:4)

  

我的问题是,我是否需要根据Andoid清单中的权限设置进行更改?

你无需做任何事。如果您只想在API Level 23+设备上使用权限,则可以使用<uses-permission-sdk23>代替<uses-permission>,但这完全是可选的。

  

因为我试图在build.gradle中将API更改为23,所有内容似乎仍然无效。

我不知道“将API改为23”意味着什么。如果您的targetSdkVersion为23或更高,并且您在API级别23或更高级别(Android 6.0+)上运行,并且您正常安装应用程序(即,不是通过从开发工具运行它),则用户将不会在安装时提示更长时间的权限。但是,对于您请求protectionLevel dangerous WRITE_EXTERNAL_STORAGE的任何权限(例如body { margin-top: 125px; } @-moz-keyframes spinningH { from { -moz-transform: rotateX(0deg) rotateY(0deg); } to{ -moz-transform: rotateX(360deg) rotateY(360deg); } } @-webkit-keyframes spinningH { from { -webkit-transform: rotateX(0deg) rotateY(0deg); } to{ -webkit-transform: rotateX(360deg) rotateY(360deg); } } @-o-keyframes spinningH { from { -o-transform: rotateX(0deg) rotateY(0deg); } to{ -o-transform: rotateX(360deg) rotateY(360deg); } } @-ms-keyframes spinningH { from { -ms-transform: rotateX(0deg) rotateY(0deg); } to{ -ms-transform: rotateX(360deg) rotateY(360deg); } } @keyframes spinningH { from { transform: rotateX(0deg) rotateY(0deg); } to{ transform: rotateX(360deg) rotateY(360deg); } } #container { -webkit-perspective : 1000px; -moz-perspective : 1000px; -o-perspective : 1000px; -ms-perspective : 1000px; perspective : 1000px; -webkit-perspective-origin : 50% 50%; -moz-perspective-origin : 50% 50%; -moz-transform-origin : 50% 50%; -o-perspective-origin : 50% 50%; -ms-perspective-origin : 50% 50%; perspective-origin : 50% 50%; } .animate { -webkit-animation : spinningH 6s infinite linear; -moz-animation : spinningH 6s infinite linear; -o-animation : spinningH 6s infinite linear; -ms-animation : spinningH 6s infinite linear; animation : spinningH 6s infinite linear; } #cube { position: relative; margin: 0 auto; height: 400px; width: 400px; -webkit-transition : -webkit-transform 2s linear; -moz-transition : -moz-transform 2s linear; -o-transition : -o-transform 2s linear; -ms-transition : -ms-transform 2s linear; transition : transform 2s linear; -webkit-transform-style : preserve-3d; -moz-transform-style : preserve-3d; -o-transform-style : preserve-3d; -ms-transform-style : preserve-3d; transform-style : preserve-3d; } #cube>div { position: absolute; height: 360px; width: 360px; padding: 20px; opacity: 0.9; background-position:center center; } #cube div:nth-child(1) { -webkit-transform : translateZ(200px); -moz-transform : translateZ(200px); -o-transform : translateZ(200px); -ms-transform : translateZ(200px); transform : translateZ(200px); background-color : #2E272F; background-repeat : no-repeat; } #cube div:nth-child(2) { -webkit-transform : rotateY(90deg) translateZ(200px); -moz-transform : rotateY(90deg) translateZ(200px); -o-transform : rotateY(90deg) translateZ(200px); -ms-transform : rotateY(90deg) translateZ(200px); transform : rotateY(90deg) translateZ(200px); background-color : #2D3A4D; background-repeat : no-repeat; } #cube div:nth-child(3) { -webkit-transform : rotateY(180deg) translateZ(200px); -moz-transform : rotateY(180deg) translateZ(200px); -o-transform : rotateY(180deg) translateZ(200px); -ms-transform : rotateY(180deg) translateZ(200px); transform : rotateY(180deg) translateZ(200px); background-color : #2D1C12; background-repeat : no-repeat; } #cube div:nth-child(4) { -webkit-transform : rotateY(-90deg) translateZ(200px); -moz-transform : rotateY(-90deg) translateZ(200px); -o-transform : rotateY(-90deg) translateZ(200px); -ms-transform : rotateY(-90deg) translateZ(200px); transform : rotateY(-90deg) translateZ(200px); background-color : #693C1F; background-repeat : no-repeat; } #cube div:nth-child(5) { -webkit-transform : rotateX(-90deg) translateZ(200px) rotate(180deg); -moz-transform : rotateX(-90deg) translateZ(200px) rotate(180deg); -o-transform : rotateX(-90deg) translateZ(200px) rotate(180deg); -ms-transform : rotateX(-90deg) translateZ(200px) rotate(180deg); transform : rotateX(-90deg) translateZ(200px) rotate(180deg); background-color : #955122; background-repeat :no-repeat; } #cube div:nth-child(6) { -webkit-transform : rotateX(90deg) translateZ(200px); -moz-transform : rotateX(90deg) translateZ(200px); -o-transform : rotateX(90deg) translateZ(200px); -ms-transform : rotateX(90deg) translateZ(200px); transform : rotateX(90deg) translateZ(200px); background-color : #E34C26; background-repeat :no-repeat; text-align:center; }),在运行时请求它们并且用户授予它们之前,您将不会保留这些权限。< / p>

答案 1 :(得分:-1)

没有。您在代码中设置的targetSdkVersionminSdkVersion等对权限的处理方式没有影响,而是取决于目标应用运行的设备。 Android更改了Android 6.0(API 24设备)中要求权限的方式。您必须在运行时询问权限。 Official Documentation for asking runtime permissions from user.