IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> ANdroid8.0以上创建快捷方式 -> 正文阅读

[移动开发]ANdroid8.0以上创建快捷方式

客户有在桌面上创建网页链接快捷方式的需求,以前做了一个APP有这个功能,今天试了一下,竟然不能用了。经查是7.1以下可以支持,8.0以上就不行了。于是全网查资料,还真不容易实现。好在google.cn的开发网有这个,记录一下,也方便新人。

创建固定快捷方式

在 Android 8.0(API 级别 26)及更高版本中,您可以创建固定快捷方式。与静态和动态快捷方式不同,固定快捷方式在受支持的启动器中显示为单独的图标。图 1 显示了这两类快捷方式之间的区别。

注意:当您尝试将快捷方式固定到受支持的启动器上时,用户会收到一个确认对话框,询问其是否允许固定该快捷方式。如果用户不允许固定该快捷方式,启动器会取消这一请求。

图 1.?应用快捷方式与固定快捷方式的外观

要将快捷方式固定到使用您的应用的受支持启动器上,请按顺序完成以下一系列步骤:

  1. 使用?isRequestPinShortcutSupported()?验证设备的默认启动器是否支持应用内固定快捷方式。
  2. 使用以下两种方式之一创建?ShortcutInfo?对象,具体采用哪种方式取决于是否已存在相应快捷方式:

    1. 如果已存在相应快捷方式,请创建仅包含现有快捷方式 ID 的?ShortcutInfo?对象。系统会自动找到与该快捷方式相关的所有其他信息,并将其固定。
    2. 如果您要固定原本不存在的新快捷方式,请创建包含新快捷方式 ID、intent 和简短标签的?ShortcutInfo?对象。

    注意:由于系统会自动对固定快捷方式执行备份和恢复操作,因此这些快捷方式的 ID 应包含稳定的常量字符串或服务器端标识符,而不是在本地生成的可能对其他设备毫无意义的标识符。

  3. 尝试通过调用?requestPinShortcut()?将快捷方式固定到设备的启动器上。在此过程中,您可以传入一个?PendingIntent?对象,用于仅在快捷方式成功固定后通知您的应用。

    注意:如果用户不允许将快捷方式固定到启动器上,您的应用就不会收到回调。

    快捷方式固定后,您的应用可以使用?updateShortcuts()?方法更新其内容。如需了解详情,请参阅更新快捷方式

以下代码段演示了如何创建固定快捷方式:

注意ShortcutManager?类的实例必须使用带有参数?ShortcutManager.class?的?Context.getSystemService(Class)?或带有参数?Context.SHORTCUT_SERVICE?的?Context.getSystemService(String)?来获取。

KotlinJava

ShortcutManager shortcutManager =
? ? ? ? context.getSystemService(ShortcutManager.class);

if (shortcutManager.isRequestPinShortcutSupported()) {
? ? // Assumes there's already a shortcut with the ID "my-shortcut".
? ? // The shortcut must be enabled.
? ? ShortcutInfo pinShortcutInfo =
? ? ? ? ? ? new ShortcutInfo.Builder(context, "my-shortcut").build();

? ? // Create the PendingIntent object only if your app needs to be notified
? ? // that the user allowed the shortcut to be pinned. Note that, if the
? ? // pinning operation fails, your app isn't notified. We assume here that the
? ? // app has implemented a method called createShortcutResultIntent() that
? ? // returns a broadcast intent.
? ? Intent pinnedShortcutCallbackIntent =
? ? ? ? ? ? shortcutManager.createShortcutResultIntent(pinShortcutInfo);

? ? // Configure the intent so that your app's broadcast receiver gets
? ? // the callback successfully.For details, see PendingIntent.getBroadcast().
? ? PendingIntent successCallback = PendingIntent.getBroadcast(context, /* request code */ 0,
? ? ? ? ? ? pinnedShortcutCallbackIntent, /* flags */ 0);

? ? shortcutManager.requestPinShortcut(pinShortcutInfo,
? ? ? ? ? ? successCallback.getIntentSender());
}

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:41:04  更:2022-03-12 17:42:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 19:13:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码