android:targetSdkVersion =“23”崩溃所以Galaxy S6

时间:2016-07-01 22:56:12

标签: android target

只需从android:targetSdkVersion="22"更改为"23",我的应用就会在Galaxy S6上崩溃。会导致什么?回滚,一切都很好。

我没有S6所以我无法复制 - 我确信它很简单...

1 个答案:

答案 0 :(得分:3)

最可能的原因是您的应用所需的权限,在您的清单中指定。

&#34;从Android 6.0(API级别23)开始,用户在应用运行时向应用授予权限,而不是在安装应用时授予权限。&#34; < /强> 见Requesting Permissions at Run Time

特别是如果您的应用需要Dangerous permissions and permission groups表中列出的任何权限,则需要在运行23或更高版本的设备上实现代码以在运行时请求这些权限。如果您没有,并且您尝试执行需要其中一项权限的任务,则该应用程序将崩溃 但是,如果需要,系统会自动授予正常(非危险)权限,并且不需要在运行时单独请求。

如果您想避免此问题,请将目标SDK保留为22。 如果您特别需要SDK 23的其他功能,则需要执行上面第一个链接中指示的步骤,以便在运行时在23或更高版本的设备上请求权限。

Marshmallow(23)现已在许多地区推出Galaxy S6。如果你能找到正在经历崩溃的Galaxy S6正在运行的Android版本,我打赌你会发现它的棉花糖。