【问题标题】:android:targetSdkVersion="23" Crashes so Galaxy S6android:targetSdkVersion="23" Galaxy S6 崩溃
【发布时间】:2016-07-01 22:56:12
【问题描述】:

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

我没有 S6,所以我无法复制 - 我确定这很简单...

【问题讨论】:

  • 当您的问题与崩溃有关时,提供堆栈跟踪可能是个好主意。

标签: android target


【解决方案1】:

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

“从 Android 6.0(API 级别 23)开始,用户在应用运行时授予应用权限,而不是在安装应用时。”Requesting Permissions at Run Time

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

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

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

【讨论】:

  • 很好的答案。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多