当前位置: 首页 > news >正文

深圳专业网站建设服务百度关键词排名软件

深圳专业网站建设服务,百度关键词排名软件,东营招标建设信息网,做企业网站用什么当用户在Android P系统上打开某些应用程序时,可能会弹出一个对话框,提示内容为:“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。 随着Android平台的发展,每个新版本通常都会引入新的…

当用户在Android P系统上打开某些应用程序时,可能会弹出一个对话框,提示内容为:“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。
在这里插入图片描述
随着Android平台的发展,每个新版本通常都会引入新的功能和API,同时逐渐弃用或改变一些旧版本的API。这给应用开发者带来了挑战,如何保持他们的应用与最新版本的Android操作系统兼容? 在这篇文章中,我们将讨论Android操作系统的向后兼容性,并提供面向开发者和用户的解决方案。
Android平台的向后兼容性
在Android应用开发中,目标SDK版本(targetSdkVersion)非常重要,它告诉系统应用是为哪个版本的Android SDK设计的。系统使用这个信息来判断是否需要对该应用应用向后兼容措施。如果一个应用的目标SDK版本过低,可能会导致在新版本的Android系统上出现兼容性问题。
实际问题:遗留应用
由于历史原因,一些应用可能没有及时更新他们的目标SDK版本。这样,旧的应用可能无法充分利用新版本Android的优化或功能,也可能会由于权限模型或API行为变更而出现问题。这些问题会对用户体验产生负面影响。让我们深入了解其中的具体问题。
权限模型问题
随着Android版本的更新,权限模型也发生了改变。在旧版本Android系统中,应用安装后可以随意访问用户的许多敏感数据和系统资源,例如联系人数据、位置信息等等。这是一个潜在的安全隐患,Google加强了对应用权限的管理,并增加了对用户数据的保护。而这也是导致旧版应用出现兼容性问题的一个重要方面。
API的变化
Android系统推出新的API版本,同时可能会弃用旧的API,这意味着旧版应用使用这些API将无法在新版Android系统上正常运行。大多数情况下,使用新的API版本将更好地支持新的Android系统,并为用户提供更好的功能和体验。
Android P的“应用警告”机制
为了帮助用户更好地管理旧的应用,Android P中引入了“应用警告”机制,当应用的targetSdk版本低于Android系统中规定的最低支持版本,会弹出“deprecated target”提示框。这个提示框给用户了解应用的适配情况,提醒他们可能会出现兼容性问题。
代码解决方案
更新应用targetSdkVersion
为了解决对应用兼容性的问题,应用开发者可以考虑更新其targetSdkVersion。这将使应用能够最好地适应新的Android系统版本,并使用新的API和变化的权限模型等,充分利用最新的功能。以下示例显示如何使用Gradle将应用程序的目标SDK版本提升至API级别为30。这会让用户感到困惑,那么真正的原因是什么呢?下面通过分析Android P源代码来解析这个问题。
在启动应用程序时,会经过一系列的流程,其中涉及到名为realStartActivityLocked的方法,该方法位于ActivityStackSupervisor.java文件中。在这个方法中,会调用AppWarnings.java文件中的onStartActivity方法。
onStartActivity方法具体实现如下:

public void onStartActivity(ActivityRecord r) {showUnsupportedCompileSdkDialogIfNeeded(r);showUnsupportedDisplaySizeDialogIfNeeded(r);showDeprecatedTargetDialogIfNeeded(r);
}

上述代码中,我们重点关注showDeprecatedTargetDialogIfNeeded函数的实现。
showDeprecatedTargetDialogIfNeeded函数会判断应用程序的targetSdkVersion是否低于Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT,如果是,则会显示对话框。
那么,如何确定Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT的值呢?我们可以通过查看源代码,发现其默认值是17(Build.VERSION_CODES.JELLY_BEAN_MR1)。
所以,当应用程序的targetSdkVersion低于17时,在Android P系统上启动应用时会弹出对话框“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。
为了验证这一原因,我们查看了一个应用程序的Package信息,发现targetSdk版本是8,远低于17。=
为了避免重复弹出对话框,AMS会在用户选择“确定”后给应用设置一个Flag标识:FLAG_HIDE_DEPRECATED_SDK。这样在下次弹出对话框时,会先检测该标识是否为true,如果是,则说明已经提示过用户,无需再次弹出。
需要注意的是,标准值由ro.build.version.min_supported_target_sdk设定,默认为17。因此,当应用的targetSdk版本低于17时,会弹出对话框。比如,当检查某应用Package信息时,发现该应用的targetSdk版本为8,因此启动该应用时会弹出该对话框。
解决方案:
开发者应该将应用程序的targetSdkVersion版本提升至17或更高,以确保应用程序在Android P系统上能够正常运行。
需要注意的是,当用户第一次弹出对话框后,如果选择“确定”,Android Management System(AMS)会为应用程序设置一个标识位FLAG_HIDE_DEPRECATED_SDK。因此,每次准备弹出对话框时,会先检查此标识位是否为true。如果是true,则说明已经提示过用户,无需再次弹窗。
在Android系统上,当应用程序的targetSdkVersion低于17时,启动应用程序时会弹出对话框“此应用专为旧版Android打造,可能无法正常运行。请尝试检查更新或与开发者联系”。这个限制是由系统默认的Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT值决定的,一般为17。开发者应该尽快将应用程序的targetSdkVersion版本提升,以确保应用程序在Android P系统上的兼容性和正常运行。

http://www.hkea.cn/news/853196/

相关文章:

  • wordpress怎样分类目录添加标签seo文章范文
  • 订阅号可以做网站吗南宁seo外包服务商
  • 邢台哪儿做网站便宜宁波 seo排名公司
  • 深圳网站优化咨询网上广告怎么推广
  • 网站右击无效是怎么做的网络营销产品
  • 中宣部网站政治建设网站服务器是什么意思
  • 淮安网站定制徐州seo外包公司
  • 嘉兴类网站系统总部网站建设技术解决方案
  • 做网站的教科书外包网络推广公司推广网站
  • 模板名字 wordpress优化大师如何删掉多余的学生
  • 3d网站建设制作百度关键词优化手段
  • 新手做那些网站比较好东莞企业网站排名
  • 欧美风格网站360指数
  • 优秀网站建设公司电话下列哪些店铺适合交换友情链接
  • 58同城乌鲁木齐网站建设重庆网站到首页排名
  • wordpress知言主题山东服务好的seo公司
  • 旅游商务平台网站建设功能需求关键词排名查询官网
  • 做网站要搭建本地服务器么微商引流被加方法精准客源
  • 网站名字要备案吗友情链接怎么弄
  • 江苏网站开发外链网站大全
  • 网站代备案流程图百度关键词优化排名技巧
  • 石狮建设局网站今日头条站长平台
  • 修改公司网站网页站长素材音效
  • 网站速度测速免费访问国外网站的app
  • 常州网站搭建公司宣传推广渠道有哪些
  • 中国建设监理网站广告网络
  • 网站维护费用怎么收路由优化大师官网
  • 如何加入小说网站做打字员合肥网站优化推广方案
  • 网站建设现状关键词在线优化
  • 网站建设就业百度网址导航主页