Android的Launcher启动器中添加快捷方式及小部件实例

2019-12-10 18:54:46王旭

 
ACTION_PICK_ACTIVITY效果图如下:

Android的Launcher启动器中添加快捷方式及小部件实例

点击某一具体Activity  , 即可选择创建该Activity的快捷方式了。

知识点二、 Intent.ShortcutIconResource类介绍
功能: 为快捷方式(Shortcut)和文件夹(live folder)提供图片资源
常用方法为:
public static Intent.ShortcutIconResource fromContext(Context context, int resourceId)
功能: 创建一个 Intent.ShortcutIconResource 对象
参数说明:context        Context类对象
resourceId  具体的图片资源id 。
常用属性:
packageName    该应用程序所在包名,类型为 packageName:type/entityname
resourceName   resourceId所对应地的资源名

例如: 某个图片资源 R.id.icon = 0x7f020000, 则resourceName 为 packageName:drawable/icon

具体怎么通过 Intent.ShortcutIconResource对象获取图片资源,请参考示例Demo。

示例Demo 
说明:点击创建快捷方式对话框后, 选择某一项具体的快捷方式,即可添加至MainActivity界面中 ,继续点击每个View,则
可启动该快快捷方式的App,挺给力的吧。

PS: 由于我只是简单的利用了LinearLayout去当容器,会存在局限性,大家可在此基础上,利用GridView/ListView构建更好
的布局,当然更NB的是,去提供类似Launcher的自定义布局。

由于执行快捷方式可能需要一些特定的权限,因此我们必须得在AndroidManifest.xml里配置对应的权限。例如,直接拨打电话
需要的权限为:   <uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>

如上效果图,增加几个快捷方式后截图如下,点击即可启动该应用。

Android的Launcher启动器中添加快捷方式及小部件实例