原标题:Android开发之桌面快捷键使用细则
国家市场监管总局网监司高度重视媒体反映的拼多多平台上销售侵权假冒商品等问题,已经要求上海市工商局约谈平台经营者,并要求上海市和其他相关地方工商、市场监管部门,对媒体反映的以及消费者、商标权利人投诉举报的拼多多平台上销售山寨产品、傍名牌等问题,认真开展调查检查,不管是第三方平台还是平台内经营者,只要构成违法,都将依法严肃处理。
作者简介
本篇来自 骑小猪看流星的投稿,分享了 Android 开发中桌面快捷键的使用细则。一起来看看!希望大家喜欢。
骑小猪看流星的博客地址:
https://www.jianshu.com/u/0111a7da544b
前言
首先声明,标题里的快捷键不是指开发人员使用频率极高的 Ctrl+C 和 Ctrl+V;也不是 IDE里 Ctrl+D、Ctrl+F 等常用快捷键。这里的快捷键,其实想要表达的是 Android 应用生成桌面快捷方式的细则。
试想,现在有一Windows 用户想进入 D 盘——my 文件夹里面的子文件去找文件(因为藏了些晦涩资源所以层级较深)。那么更加便利省力的操作是:点击选中文件夹——右键:发送到——桌面快捷方式,即可帮我们将快捷方式生成到桌面。该用户下次想使用这个文件夹,直接点击桌面上的快捷方式即可。这样做的好处在于,用户可以快速定位到某一应用具体的功能、干净利落。
当然,谷歌 Android 团队也考虑了这一点,给我们设计了原生 API,方便我们开发人员更加便利的(Ctrl+C、V)生成桌面快捷方式。这样做的好处我想有以下几点,首先,提高了用户留存率,试想一个 APP 通过某种媒介生成了2个 icon,这样是很容易吸引人的,因为生成桌面快捷方式的 icon 以及点击事件都是代码可控的,比如你的快捷方式的 icon 是一个萝莉或者御姐;正太或是直男?毕竟图片总有人会喜欢的嘛。其次,快捷方式的点击事件是控制的,跳转的界面控制在开发者(产品)手中等等。
分析一波
言归正传,既然是生成桌面快捷方式,那么肯定需要权限,必要的权限如下:
接着,因为 Android 难以言表的碎片化和厂商定制,所以还需要加一些权限来增加健壮性,下面直接 copy 就行:
代码实现
权限已经添加完毕,下面就可以上代码了,首先是创建桌面快捷方式:
//创建桌面快捷方式
privatevoidcreateShortCut(){
//创建Intent对象
Intent shortcutIntent = newIntent();
//设置点击快捷方式,进入指定的Activity
//注意:因为是从Lanucher中启动,所以这里用到了ComponentName
//其中new ComponentName这里的第二个参数,是Activity的全路径名,也就是包名类名要写全。
shortcutIntent.setComponent( newComponentName( this.getPackageName(), "这里是包名.类名"));
//给Intent添加 对应的flag
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS|Intent.FLAG_ACTIVITY_NEW_TASK);
Intent resultIntent = newIntent();
// Intent.ShortcutIconResource.fromContext 这个就是设置快捷方式的图标
resultIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext( this,
R.drawable.yuanbao));
//启动的Intent
resultIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
//这里可以设置快捷方式的名称
resultIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "快捷名称");
//设置Action
resultIntent.setAction( "com.android.launcher.action.INSTALL_SHORTCUT");
//发送广播、通知系统创建桌面快捷方式
sendBroadc