关于生成桌面快捷方式,Android提供了原生的api方法。下边就介绍一下兼容8.0的具体做法。

一、首先当然是关于快捷方式的权限了。

我们需要在AndroidManifest文件中添加一下权限:

 

二、在需要生成桌面快捷方式处调用一下代码

 /** * 添加快捷方式 */ public void addShortCutCompact(Bitmap bitmap) { //启动器是否支持添加快捷方式 if (ShortcutManagerCompat.isRequestPinShortcutSupported(mContext)) { Intent shortcutInfoIntent = new Intent(mContext, TestActivity.class); //这里直接传一个对象报错,现在转成json传过去 Gson gson = new Gson(); String json = gson.toJson(ShortcutBean); shortcutInfoIntent.putExtra(SHORTCUT_BEAN,json ); shortcutInfoIntent.putExtra(IS_SHORTCUT, true); //action必须设置,不然报错 shortcutInfoIntent.setAction(Intent.ACTION_VIEW); shortcutInfoIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutInfoIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); ShortcutInfoCompat info = new ShortcutInfoCompat.Builder(mContext, "mama_id") //设置图标icon .setIcon(Icon.createWithResource(context, R.drawable.icon)) //设置名称 .setShortLabel("快捷方式名称") .setIntent(shortcutInfoIntent) .build(); //创建快捷方式 ShortcutManagerCompat.requestPinShortcut(mContext, info,null); } else { ToastUtil.showMsg("启动器不支持固定快捷方式"); } }

三、注意点

1、点击桌面快捷方式跳转到目标页面就是上边代码例子中的TestActivity时,如果有业务需要做一些统计之类的操作,我们可以传递一些数据进行操作,这里可以直接传递基本数据类型,但是如果想直接传递一个bean对象时,是不支持的,需要我们转成json传递。

2、shortcutInfoIntent.setAction(Intent.ACTION_VIEW);是必须设置的。

3、桌面快捷方式的图标不支持网络地址图片,如果想要从接口获取动态设置需要先下载下来为一个bitmap。

用setIcon(IconCompat.createWithBitmap(bitmap))方法来设置。

关于下载网络图片我们有很多方法,这里是用glide下载,列子代码:

 /** * 下载快捷方式icon */ private void downShortcutICon() { final Bitmap[] bitmap = new Bitmap[1]; //先下载图标 转为bitMap Glide.with(mContext).asBitmap().load(addIcon.getAppIcon()).into(new SimpleTarget() { @Override public void onResourceReady(@NonNull Object resource, @Nullable Transition transition) { bitmap[0] = (Bitmap) resource; if (bitmap[0] != null) { addShortCutCompact(bitmap[0]); } } }); }

4、需要在AndroidManifest中的TestActivity注册中加入 android:exported="true"标签,这个标签是用来表示是否能够被其他应用程序组件调用或跟它交互。

5、另外,如小米、vivo等一些机型需要在设置中手动打开 创建桌面快捷方式权限。


感谢大家能耐着性子看完

在这里小编也分享一份自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习

如果你有需要的话,可以点赞+评论+转发关注我,然后私信我【进阶】我发给你

android string 转成json对象_Android开发:生成桌面快捷方式是这样做的相关推荐

  1. 生成android_Android开发:生成桌面快捷方式是这样做的

    关于生成桌面快捷方式,Android提供了原生的api方法.下边就介绍一下兼容8.0的具体做法. 一.首先当然是关于快捷方式的权限了. 我们需要在AndroidManifest文件中添加一下权限: 二 ...

  2. android自动创建快捷方式,Android开发之生成桌面快捷方式细则(原创)

    本文已独家授权 郭霖 ( guolin_blog) 公众号发布! 申明,标题里的快捷方式不是指开发人员使用频率极高的Ctrl+C和Ctrl+V:也不是IDE里Ctrl+D.Ctrl+F等常用快捷键.这 ...

  3. 把执行结果转成json对象报错_给Hangfire的webjob增加callback和动态判断返回结果功能设计...

    背景介绍 通常业务中需要用到定时执行功能,我用hangfire搭建了一个调度服务,这个调度服务是独立于业务逻辑的,具体可以参考文章:https://github.com/yuzd/Hangfire.H ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  5. [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)...

    点击下载 ConvertJson.rar 本类实现了  C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json| 等功能 大 ...

  6. js中string字符串转换为JSON对象 - 方法大全(4种)

    js中string字符串转换为JSON对象 - 方法大全(4种) jQuery插件支持的转换方式: 示例: //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对 ...

  7. json字符串转成 json对象 json对象转换成java对象

    import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject; 依赖包 <dependency> ...

  8. json字符串转换成json对象

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( ...

  9. 利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题

    利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 参考文章: (1)利用viewbag把数据对象传到前端并转换成json对象,及解决json字符串被转义问题 ( ...

最新文章

  1. 深度学习之对象检测_深度学习时代您应该阅读的12篇文章,以了解对象检测
  2. mysql ondumplictcate_4.5万字手把手教你实现MySQL TB级数据存储!!
  3. 前端小知识点(7):正则前瞻
  4. 实现一个用户取过的数据不被其他用户取到
  5. 通过代码解决SharePoint列表视图权限分配问题
  6. asp.net mvc 2被遗忘的%:Html.AntiForgeryToken() %
  7. 在工作之余,你是怎么提升自己的?
  8. 把C#对象转换为json字符串
  9. 推荐 几个神级 Java 开源学习项目
  10. 数据库可视化工具Navicat
  11. Vue / axios / props 调用后端接口数据并渲染到页面
  12. Conflux TokenGazer AMA活动内容回顾
  13. 3dsnbsp;max基础材质初学者必读——陶瓷质感表现(11)
  14. android+照相软件,韩国很火的照相app
  15. 数字孪生数字工厂 数字孪生工厂解决方案
  16. 集米社浅谈下那些令网兼者疯狂的时代。
  17. pdf怎么合并?合并有技巧
  18. bzoj 2054 并查集
  19. C# 创建barcode 并打印
  20. 10-237 查询学生表中的女生信息(MSSQL)

热门文章

  1. vue.js框架原理浅析
  2. Kubernetes与docker集群管理常见问题解析
  3. ASP.NET MVC分页实现
  4. VMware Identity Manager 与CAS, Keycloak的集成
  5. C++运算符重载(10)
  6. 理解MySQL——索引与优化
  7. 【转】使用Windows Backup备份Exchange 2007 SP2和Exchange 2010
  8. .net webconfig 配置说明123
  9. [十问] 软件基础知识
  10. 解决vmware移动虚拟机之后执行ifconfig命令无输出的问题