关键词:
【中文标题】文档中的固定快捷方式最低 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 边界
...开?(我说“库”是为了避免术语“分发”和“模块”,文档有时会以重叠的方式使用它们。但如果我应该使用更精确的术语,请告诉我。)我了解如 查看详情