首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android无法完成会话:-26新目标SDK 22不支持运行时权限,但旧目标SDK 23支持运行时权限

这个问题涉及到Android开发中的目标SDK和运行时权限的概念。

目标SDK是指开发者在编写Android应用时所选择的目标Android版本。每个Android版本都会引入新的功能和特性,同时可能会对旧版本的行为进行更改或限制。通过设置目标SDK,开发者可以决定应用在哪个Android版本上运行,并可以利用该版本的新功能。

运行时权限是指在Android应用运行时,用户需要授予应用特定的权限才能访问设备的敏感数据或执行敏感操作。Android 6.0(API级别23)引入了运行时权限的概念,这意味着应用需要在运行时向用户请求权限,并且用户可以选择授予或拒绝这些权限。

根据问题描述,新的目标SDK为26,不支持运行时权限,而旧的目标SDK为23,支持运行时权限。这意味着在新的目标SDK下,应用无法通过运行时权限机制来获取敏感权限,可能会导致应用无法完成会话。

为了解决这个问题,可以考虑以下几个方案:

  1. 提升目标SDK版本:如果应用的功能要求使用了新的目标SDK版本,可以尝试升级目标SDK版本,并对应用进行相应的适配和测试。然而,需要注意的是,升级目标SDK版本可能会导致其他兼容性问题,需要进行全面的测试和验证。
  2. 重新设计权限请求逻辑:如果应用必须使用新的目标SDK版本,但又需要运行时权限来完成会话,可以重新设计权限请求逻辑。可以考虑在应用启动时,提前请求所需的敏感权限,并在用户授权后继续会话。这样可以绕过新的目标SDK对运行时权限的限制。
  3. 降低目标SDK版本:如果应用的功能并不依赖于新的目标SDK版本,可以考虑降低目标SDK版本至旧的目标SDK(如23),以便能够使用运行时权限机制。然而,需要权衡应用功能和目标用户群体的需求,确保降低目标SDK版本不会影响其他方面的功能和性能。

需要注意的是,以上方案仅供参考,具体的解决方案应根据应用的具体情况和需求进行评估和选择。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和腾讯云的最新产品信息进行决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

针对现代 Android 更新游戏 API 等级

只需简单几步即可完成适配 请打开 Android Studio,点击 Tools > Android > SDK Manager > Android SDK > SDK Platforms,安装 Android...如果您当前所使用的广告网络、SDK 或插件无法兼容 API 等级 26,请及时与相关方取得联系,咨询何时能够获取 API 等级 26 的相关支持 。相关方获悉系统行为变更越及时,越有利。...如果您使用 Unity 构建游戏,请注意 Unity 5.6.6 及更高版本已经为目标 API 26 提供了内置支持。...关键变更须知 从 API 23 开始,系统允许用户在应用运行时向其授予权限,以简化应用的安装过程。 从 API 24 开始,系统禁止应用动态链接非公开 NDK 库。...如果您的游戏需要使用 Android 通知推送功能,请确保游戏中的 Google Play Services SDK 已升级至 10.2.1 或更高版本,用以支持 API 等级 26

92930

AndroidP升级之路

详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK23 或更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限。...问题:non-SDK接口 扫描:apt.oa.com 扫描结果: image.png 注意下,这里的greaylist_max_p_num代表最多支持AndroidP的版本的接口数量,这些接口不支持下一代...详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK23 或更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限

1.2K31

Android适配全面总结(二)----版本适配

(在API级别26中已弃用。使用getLargeIcon(),它支持更多种图标源。)...(在API级别26中已弃用。使用getSmallIcon(),它支持更多种图标源。)...因为Android6.0(API23)开始需要动态申请权限,需要手动申请的权限有8组(短信、电话、联系人、存储、位置、麦克风、日历、相机),共24个,如下所示: 所属权限权限 短信 SEND_SMS...此权限与其他运行时权限一样,会与应用绑定,在安装时进行提示,确保用户授予使用安装来源的权限后,此权限才会提示用户安装应用。...在运行 Android 8.0 或更高版本的设备上使用此权限时,恶意下载程序将无法骗取用户安装未获得预先授权的应用,所以我们需要加入安装apk文件的权限

2.3K10

Android 9 Pie 兼容性常见问题及注意事项

.* 的库 Android M 就已经开始移除对 Apache HTTP client 的支持。而 Android P 的系统 ClassLoader 已经不支持加载 org.apache.http....使用了不兼容的第三方的库 如果您使用的第三方库尚不支持 Android P 版本,请报告给其提供商,帮助推动它解决兼容性问题。...空闲应用无法访问麦克风、摄像头和传感器 为了更好地保证隐私,Android P 限制所有处于空闲状态的应用对麦克风、摄像头和所有 SensorManager 传感器的访问。...这是一个一般性权限,应用只需在 manifest 中声明,系统会自动授予而无需询问用户。若无此权限即运行前台服务,系统会抛出 SecurityException。...后台服务限制 自 Oreo 起,Target SDK >= 26 的应用若没有在前台显示,它的后台服务将受到系统限制。

1.4K20

Android 13 SDK更新内容

针对附近Wi-Fi设备的新运行时权限:在以前的 Android 版本中,用户需要向您的应用授予 ACCESS_FINE_LOCATION 权限,应用才能完成与热点相关的多个常见 Wi-Fi 用例、Wi-Fi...(未获取权限下,调用wifi-api 会出现 SecurityException异常) 在后台使用身体传感器需要新的权限:如果应用以 Android 13 为目标平台,并且在后台运行时需要访问身体传感器信息...APK签名方案v3.1:APK 签名方案 v3.1 允许应用在单个 APK 中同时支持原始签名者和轮替签名者,并且该方案还支持 SDK 版本定位。...无论应用采用何种目标 SDK 版本,Android 13 都允许用户从抽屉式通知栏中停止前台服务。 使用精确闹钟的新权限。 (不是闹钟,计时器,日历等方面的应用可不用在意。)...8.1 27 Oreo Android 8.0 26 Oreo Android 7.1.1 25 Nougat Android 7.0 24 Nougat Android 6.0 23 Marshmallow

2K10

笔记(24)安卓各版本特性简述

5.支持多种设备(电视、平板、手表) 6.0 新特性—2015年(Marshmallow) 1.【重点】新增运行时权限管理。...如果应用以Android 11或更高版本为目标平台并且数月未使用,系统会通过自动重置用户已授予应用的运行时敏感权限来保护用户数据 3.读取手机号 如果你是通过TelecomManager的getLine1Number...7.应用休眠 Android 11引入了应用休眠机智,如果用户有几个月没有与应用交互,那么系统会将应用置于休眠状态,Android 12扩展了应用休眠机智: 》Android 11:重置已授予的运行时敏感权限...; 》Android 12:重置已授予的运行时敏感权限无法从后台运行任务;无法接受推送通知;应用缓存文件会被删除。...hl=zh-cn 14.0 新特性—2023年(Beta 版) 默认拒绝设定精确的闹钟 最低可安装的目标 API 级别23,targetSdkVersion lower than 23 无障碍非线性字体放大至

39910

AS中的minSdkVersion、compileSdkVersion、targetSdkVersion、buildTools

使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。 需要强调的是 修改 compileSdkVersion 不会改变运行时的行为 。...由于某些行为的变化对用户是非常明显的(弃用的 menu 按钮,运行时权限等),所以将 target 更新为最新的 SDK 是所有应用都应该优先处理的事情。...“22.0.1”这样也是OK的 07 — 总结 当AS提示Gradle或者Android SDK更新后,大胆更新吧,先全部下载下来。...targetSdkVersion的修改要注意代码是否适应更新后的版本号,要测试完全,最典型的例子就是23版本的运行时权限问题的处理。...如果targetSdkVersion提升到了23,如果代码没有进行运行时权限判断会直接崩溃。

79220

6.0 运行时权限处理

6.0 运行时权限处理 在6.0以前 权限都是在安装时授权的,如果用户不授权就无法安装; Android从6.0(API 23)开始 使用运行时权限,而不是像以前那样安装时授权。...targetSdkVerion 申请权限之前必须先说一下tartgetSdkVersion ,目标sdk版本,一般定义在build.gradle文件中。...如果 targetSDKVersion 是22 安装好之后 Android系统就知道这个App在系统API22一下都测试过了并且能正确运行的,假如这个App运行在了Android6.0系统上,Android...answer){ new AlertDialog.Builder(this).setTitle("权限说明") .setMessage("此功能需要读取短信的权限,没有权限无法使用此功能....setMessage("此功能需要读取短信的权限,没有权限无法使用此功能。

72580

开发一款 SDK 需要注意哪些问题

(jdk 11), 应为 52.0(jdk 8) 所以,SDK 在非必要情况下,Java 版本尽量兼容到最低,除非遇到特殊情况,例如 SDK 需要适配 Android 12, Deprecated 的...ElementType�.MODULE 标明需要 Java 9 才支持SDK 被迫要升级 Java 版本,这种情况也能允许,但对外提供的接入文档最好明确标明最低的 Java 版本。...smaller than version 23 declared in library 如果业务方被迫升级 23 的话,将会导致业务项目机型覆盖面出现很大的问题,所以,在保障 SDK 兼容性的情况下,...例如 Android 12 新增的 BLUETOOTH_SCAN 权限SDK 内部判断 SDK_INT 是否大于 Android 12,可业务方的 targetSdkVersion 并没有适配 12,...searchId=20240201160831B97DABD23F9EDF22AF8A#heading-20

21810

Android 如何获取有效的DeviceId

而这个权限是系统权限,也就是说一般应用将无法再获取IMEI 和序列号 受影响的方法包括: Build getSerial() TelephonyManager getImei() getDeviceId...() getMeid() getSimSerialNumber() getSubscriberId() 如果您的应用没有该权限您仍尝试查询不可重置标识符的相关信息,则平台的响应会因目标 SDK 版本而异...如果应用以 Android 9(API 级别 28)或更低版本为目标平台,则相应方法会返回 null 或占位符数据(如果应用具有 READ_PHONE_STATE 权限)。...在 Android 6.0(API 级别 23)到 Android 9(API 级别 28)中,无法通过第三方 API 使用 Wi-Fi 和蓝牙等本地设备 Mac 地址。...补充 除了上面的方案,还有移动安全联盟(信通院牵头)提供的sdk,可以获取几种设备标识符,大部分国内厂商都支持。 不过需要申请使用,还没测试过。

6.4K30

Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?

shortService:需要快速完成不能打断或推迟的重要工作;有 5 个特点:1)只能运行较短的时长,大概 3 分钟;2)不支持粘性前台服务;3)无法启动其他前台服务;4)不需要另外申请特定类型的权限...权限,以前不是必须的,现在必须在 Manifest 文件中声明,并且在运行时向用户申请该权限。...在限制使用非 SDK 接口之前,官方会尽可能确保有可用的公开替代方案。 如果应用并非以 Android14 为目标平台,其中一些变更可能不会立即对应用产生影响。...只要 App 使用任何非 SDK 方法或字段,终归存在导致应用出问题的显著风险。...如果无法为应用中的某项功能找到使用非 SDK 接口的替代方案,应向官方请求新的公共 API。

6.6K30

我写了款依赖检查的工具

一、检查 目前该检查工具提供了 5 项内容的检查: so 文件检查 64 位 so 未适配检查 更安全的导出组件检查 未匹配的权限检查 uses-sdk 检查 1、so 文件检查 so 文件检查可以分析出依赖里面包含了多少个...64 对于我们工具的检查,只需要遍历获取 32 位 so 的文件名称,然后去查下这个文件在 64 位的目录下存不存在,如果存在,说明该 so 支持,反之不支持,检测效果如下: image.png 3...、更安全的导出组件检查 在 Android 12 的适配中,如果 activity、received 和 service 有使用 intent-filter,则必须显示申明 exported 的值,否则应用将无法在搭载...工具检测效果如下: image.png 5、uses-sdk 检查 manifest 中一些全局性配置,对 apk 安装和运行时行为具有重要影响,最为典型的就是 minSdkVersion和 targetSdkVersion...-- 插件会读取 uses-sdk ,如果分析出的依赖不等于 targetSdk 或是如果不等 minSDK 则会输出分析--> <uses-sdk android:minSdkVersion

58230

IM即时通信探索(二)-- IM即时通信采坑

是否支持申请加群 不支持 支持需要群主或管理员审批 支持,且无需审批 支持,且无需审批 是否支持成员邀请他人加群 支持 不支持 不支持 不支持 “踢人”权限 ·  群主 ·  后台 App 管理员...同步消息过程完成,通过 OnRefresh 接口通知用户已完成消息同步。 用户调用 getMessage,如果本地消息不完整,SDK 自动拉取漫游服务器。...对于单聊消息,每个用户的离线消息缓存最多保存100个单聊会话的未读消息,每个单聊会话最多保存100条未读消息。超出限制的部分不会被计入未读计数,这些消息仍会存到消息漫游中。...例如,某种办公场景下使用的群组,它与好友工作群(Work)相似需要群内任意成员都具有最高级别的管理权限且可以查看入群之前的历史消息。...其中, SDK 版本中的 BChatRoom 类型不能作为参考类型。 成功配置后,除了在申请工单中指定要修改的特性外,新群组类型具有的特性与参考类型是相同的。

3.3K20

Android 11 应用兼容性适配,看这篇就够了

: ● App存放到公共目录下的文件,卸载后,如果需要修改,需要用户重新授予权限 1.3.11.App数据迁移 App打开分区存储,会涉及到数据的迁移,不然会导致数据无法使用。...1 不管应用的目标 SDK 版本是什么,以下变更均会在 Android 11 中生效: ● 存储运行时权限已重命名为文件和媒体。...2兼容性影响 应用若对运行时权限使用不规范,可能出现权限被关闭后无法正确引导用户打开权限、闪退的现象。 3适配指导 1 应用尽量不要申请与功能不相关的权限。...这是支持未来启用了ARM内存标记扩展 (MTE) 的硬件所必需的变更。 2 兼容性影响 如果您的应用目标Sdk为R则堆指针标记默认开启,目标SDK低于R时,默认关闭。...虽然您目前仍然可以使用灰名单中的一些非 SDK 接口(取决于您的应用的目标 API 级别),如果您使用任何非 SDK 方法或字段,则应用在将来系统版本或安全补丁升级后无法运行的风险终归较高。

11.9K42

从TargetApi22升级到TargetApi26注意事项

最近谷歌爸爸要求在8月份,在googleplay上架的app必须升级到TargetApi26以上,作为常年使用TargetApi22的我,不得不去研究一下升级为TargetApi26的影响,主要如下:...1.运行时权限 如果你声明在清单文件的权限,这对用户的隐私或设备的操作不构成很大风险,系统会自动将这些权限授予您的应用程序。...,仅当试图使用权限的应用程序由与定义权限的应用程序相同的证书签名时。...,您的应用必须提示用户在运行时授予权限。...5种类型的type将会被废弃,不能使用,运行在低于api26版本的手机上还是可以使用以下的type,所以需要对api26的悬浮窗进行兼容处理: TYPE_PHONE TYPE_PRIORITY_PHONE

77810

Android 11 正式版发布

如果您的应用需要访问后台位置信息,系统会要求您必须先请求前台位置权限。您可以通过 单独的权限申请 来进一步要求访问后台位置信息,系统会将用户带到设置页面 (Settings) 中完成授权操作。...权限自动重置 : 如果用户在很长一段时间里未使用某应用,Android 11 将 “自动重置” 所有与该应用关联的运行时权限并通知用户。在用户下次使用该应用时,应用可以再次请求权限。...您可以通过 SDK 和 NDK 来使用该 API。 动态资源加载器: Android 11 提供了一个新的公开 API 来让应用在运行时动态加载资源和素材。...外部存储访问权限 : 应用无法再访问外部存储空间中其他应用的文件。 Scudo Hardened Allocator :现在它是应用内原生代码的堆内存分配器。...共享快捷方式 (自 Android 10 开始支持) :想要接收共享数据的应用应该使用 共享快捷方式 API 来创建共享目标

1.2K50

持续提高 Android 应用的安全性与性能

从 2018 下半年开始,Google Play 要求新 App 和 App 更新包将目标 SDK 版本(Target SDK Version)设定为最新版。...以下列举了我们针对近期平台版本,推出的几项有关 API 的变更: 不再支持通过隐式的 intent 调用 bindService ( ) (Android 5.0) 在运行时请求权限 (Android...6.0) 默认条件下,不再信任用户为安全连接添加的 CA 证书 (Android 7.0) 在未获得用户明确批准的情形下,App 无法访问用户账号 (Android 8.0) 上列变更仅仅适用于在 targetSdkVersion...例如,只有在 targetSdkVersion 值为 23Android 6.0 适配 API 等级)或者更高的 App 内,用户才能通过设定 “在运行时请求权限”,完全控制 App 能够访问到哪些隐私数据...26Android 8.0)或者更高 2018 年 11 月,现有 App 的更新包需要将 target API 等级设定为 26 或者更高 2019 年之后:每年 targetSdkVersion

1K50
领券