文档中的固定快捷方式最低 API 级别与代码不兼容

     2023-04-14     56

关键词:

【中文标题】文档中的固定快捷方式最低 API 级别与代码不兼容【英文标题】:Pinned Shortcuts Minimum API Level in Documentation Incompatible With Code 【发布时间】:2018-12-14 09:32:25 【问题描述】:

正如文档所说:

如果您的应用面向 Android 7.1(API 级别 25)或更高版本,您可以 定义应用中特定操作的快捷方式。

固定的快捷方式是 在运行时发布并且还使用 ShortcutManager API。期间 运行时,您的应用可以尝试固定快捷方式,此时 用户会收到一个确认对话框,询问他们是否允许固定 捷径。只有在以下情况下,固定的快捷方式才会出现在支持的启动器中 用户接受固定请求。 Link

因此应该可以在 API 级别 25 本身中使用固定快捷方式,并且 上面,但在代码中我得到Calls require API level 26的错误。

所有PinShortcut 方法都会发生这种情况:

if (android.os.Build.VERSION.SDK_INT >=  Build.VERSION_CODES.N_MR1)
            ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
            if (shortcutManager.isRequestPinShortcutSupported()) 
               //do something
            

shortcutManager.createShortcutResultIntent(pinShortcutInfo);

这些代码行得到并且 API Level 26 is required 错误。

有什么问题?为什么 Document 和 SDK 说的不一样? 以及如何解决这个问题?

【问题讨论】:

【参考方案1】:

虽然ShortcutManager 是在 API 25 中添加的,但它的一些方法后来在 API 26 中添加。

您可以在文档中看到在 API 26 中添加了 isRequestPinShortcutSupported 和 createShortcutResultIntent 方法。

换句话说:

在 API 25 中,您可以在您的应用中启用快捷方式,但如果用户需要这些快捷方式,则必须手动将它们添加到主屏幕。 在 API 26 中,您可以使用这两种新方法请求将这些快捷方式自动添加到主屏幕。

【讨论】:

所以在 API 级别 25 中我们不能以编程方式创建 pin 快捷方式? 没有。仅来自 API 26 及更高版本。你可以在这里阅读:developer.android.com/guide/topics/ui/shortcuts#pinned 这真是糟糕的设计 :(,谢谢 jmart @AliZeynali 不,这不是糟糕的设计。使用过时的 SDK 是你的错

对于 API 级别最低为 21 的项目放弃 appcompat 是个好主意吗?

...I级别为21的项目,试图找出实现ActionBar的正确方法。官方文档从使用appcompat库开始,列出的主要优点是它保留了7级的兼容性。我什至不 查看详情

如何修复 Android 中的“调用需要 API 级别 26(当前最低为 25)”错误

】如何修复Android中的“调用需要API级别26(当前最低为25)”错误【英文标题】:Howtofix"CallrequiresAPIlevel26(currentminis25)"errorinAndroid【发布时间】:2019-11-0320:46:33【问题描述】:我知道这个问题可能是重复的,但我没有为我... 查看详情

前端面试总结(代码片段)

...模式各有什么区别??(1)、<!DOCTYPE>声明位于位于HTML文档中的第一行,处于标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。(2)、标准模式的排版和JS运... 查看详情

非支持库 android 项目所需的最低 API 级别

】非支持库android项目所需的最低API级别【英文标题】:MinimumAPIlevelrequiredfornon-SupportLibraryandroidprojects【发布时间】:2017-12-3117:02:27【问题描述】:有谁知道不需要任何支持库的Android项目的最低API级别是多少?21或22是我的猜测,... 查看详情

主/明细流的最低 api 级别等于正在使用的级别

】主/明细流的最低api级别等于正在使用的级别【英文标题】:Master/Detailflowhasminimumapilevelequaltothatinuse【发布时间】:2013-11-0810:39:53【问题描述】:当我尝试在AndroidStudio中创建新的Master/Detail流活动时,我被告知“活动Master/DetailFl... 查看详情

oculusrift与windows10不兼容怎么办

...”(在你的桌面创建快件方式)。4、然后,再次右键单击该快捷方式,然后转到“属性”。5、在“兼容性”选项卡,为Win8系统创建“在兼容模式下运行程序”。同时以管理员身份运行。点击应用,确定。6、关闭OculusRift.7、运行OVR... 查看详情

doctype作用,标准模式与兼容模式的区别(代码片段)

<!DOCTYPE>声明位于位于HTML文档中的第一行,处于<html>标签之前。告知浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现。 标准模式的排版和JS运作模式都是以该浏览... 查看详情

android:Theme.Material.Light 需要 API 级别 21(当前最低为 8)

...我的应用程序中使用材料主题,其最低sdk版本为8。根据文档-“材料主题仅在Android5.0(API级别21)及更高版本中可用。v7支持库为 查看详情

错误记录googleplay上架报错(apk大小|目标api级别|googleplay帮助文档)(代码片段)

文章目录一、报错信息二、解决方案一、报错信息GooglePlay中上架APK文件,报如下错误;您需要将APK文件缩减到一〇〇MB,或使用APK扩展文件。您的应用目前的目标API级别为28,但其目标API级别必须最低为29,这样才能确保... 查看详情

Sencha Touch 2.0 支持的最低 Android API 级别是多少?

】SenchaTouch2.0支持的最低AndroidAPI级别是多少?【英文标题】:WhatbareminimumAndroidAPILevelissupportedbySenchaTouch2.0?【发布时间】:2012-10-2615:41:30【问题描述】:有谁知道SenchaTouch2支持的确定的最低限度AndroidAPI级别?我在Sencha论坛上找到... 查看详情

使用 android EncryptedSharedPreference 的最低 API 级别?

】使用androidEncryptedSharedPreference的最低API级别?【英文标题】:MinimumAPIlevelforusingandroidEncryptedSharedPreference?【发布时间】:2020-06-1820:43:43【问题描述】:androidencryptedShared首选项所需的最低API级别是多少?我正在使用以下依赖项impl... 查看详情

检查代码中的 Android API 级别

】检查代码中的AndroidAPI级别【英文标题】:CheckAndroidAPIlevelincodes【发布时间】:2013-09-0710:18:48【问题描述】:我犯了一个错误,没有考虑我的代码中使用的每个方法的API级别。所以在编写了500行代码后,我不知道我在代码中使... 查看详情

调用需要 API 级别 26(当前最低为 23):java.time.Instant#now

】调用需要API级别26(当前最低为23):java.time.Instant#now【英文标题】:CallrequiresAPIlevel26(currentminis23):java.time.Instant#now【发布时间】:2019-08-2806:36:21【问题描述】:我正在实施Google\'sDirectionsAPI。我的应用支持minSdkVersion23,这里不... 查看详情

Android 上的 Kotlin - 是不是有最低 API 级别要求?

】Android上的Kotlin-是不是有最低API级别要求?【英文标题】:KotlinonAndroid-isthereaminimumAPIlevelrequirement?Android上的Kotlin-是否有最低API级别要求?【发布时间】:2018-03-1408:35:00【问题描述】:我正在认真考虑在一个未开发的Android项目... 查看详情

调用需要 API 级别 21(当前最低为 17):android.hardware.camera2.CameraDevice.StateCallback

...ck【发布时间】:2017-02-2323:41:36【问题描述】:AndroidStudio中的错误。 查看详情

sqlserver兼容性级别和基数估计(代码片段)

...仅用于向后功能兼容、以及启用/禁用每个新版本SQLServer中的一些新功能。较低的兼容性级别允许你继续使用不再受支持的语法,有时它会阻止你使用新的语法结构。与SQLServer数据库的版本不同,你可以随时使用简单的ALTE... 查看详情

java示例代码_修复与列表中的对象数组不兼容的类型

java示例代码_修复与列表中的对象数组不兼容的类型 查看详情

在模块(分发?)级别强制执行 API 边界

...开?(我说“库”是为了避免术语“分发”和“模块”,文档有时会以重叠的方式使用它们。但如果我应该使用更精确的术语,请告诉我。)我了解如 查看详情