用手机软件时,我们常常希望迅速访问特定功能,或是迅速点击桌面图标。这便引出了创建和管理应用快捷键与桌面插件的话题。今天,我将为大家详细讲解这一内容。
创建应用快捷方式
使用快捷操作可以迅速进入应用中的特定功能。开发者能够设定多样的快捷操作。例如,在日历或邮箱这类应用中,若想以特定方式浏览信息,就能通过静态快捷操作实现,这能让日常操作体验保持一致。至于游戏等应用,若从存档处开始,则可通过动态快捷操作,使用起来非常便捷。以我身边的情况为例,许多人每天查看邮件都依赖快捷操作,这样可以节省不少时间。若要创建应用快捷操作,需进入主界面,在清单文件中对操作和类别进行设置。
此外,还设有专门的快速通道,这类通道在兼容的启动器中会以独立图标的形式呈现。当用户尝试设置快捷方式时,会弹出一个确认窗口。比如,许多办公软件都提供了固定的快捷方式,这样能让我们迅速访问常用的功能。在创建快捷方式时,还需注意查看设备的默认启动器是否具备这一功能支持。
设置管理应用的快捷方式有技巧。尽管API允许发布最多十五个静态和动态快捷方式,但从视觉角度出发,建议只发布四个。这是因为启动器菜单的空间有限。过多类似功能的快捷方式会使界面显得杂乱。此外,每个快捷方式都需要考虑用户在应用中直接完成任务的方式,并准确记录用户使用频率。而且,若在类似助理这样的平台上集成快捷方式库,推送大量快捷方式时,还需设定显示的优先顺序。
在不同情境中,对快捷方式的管理方式各不相同。例如,当用户将数据恢复到新设备时,动态快捷方式通常不会被保留。因此,每次启动应用时,都需要核对对象的数量,并在需要时重新创建。记得有一次,我用过一款游戏软件,换手机后,动态快捷方式就消失了。因此,开发者必须重视并妥善管理这一环节。
快捷方式的类型区别
静态快捷方式很可靠。在使用当前版本的过程中,它所引导的常规操作基本保持不变。例如,某个阅读软件中用来打开特定书籍的快捷键。相对的,动态快捷方式则会根据实际需求变化,与用户的操作紧密相连,比如在不同位置进行导航。这两种快捷方式都非常有用,只是它们适用的场合各有不同。
快捷方式的独立性相当显著。在启动器中,它以独立图标的形式存在,与其它两种快捷方式明显不同。此外,在设置过程中,用户需进行确认。在具体使用中,将支付软件的快捷方式固定,能极大提升操作便捷性,实现快速支付等关键操作。
dependencies {
implementation "androidx.core:core:1.6.0"
implementation 'androidx.core:core-google-shortcuts:1.0.0'
...
}
快捷方式与用户体验
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
快捷方式对用户的使用感受有很大影响。优秀的快捷方式能帮助用户迅速实现目标。比如,若想迅速查阅特定时间的日程,只需一键操作即可。采用快捷方式,用户无需费时费力地打开应用和搜索功能或内容。
ShortcutInfo shortcut = new ShortcutInfoCompat.Builder(context, "id1")
.setShortLabel("Website")
.setLongLabel("Open the website")
.setIcon(IconCompat.createWithResource(context, R.drawable.icon_website))
.setIntent(new Intent(Intent.ACTION_VIEW,
Uri.parse("https ://www.mysite.example.com/")))
.build();
ShortcutManagerCompat.pushDynamicShortcut(context, shortcut);
从另一角度说,若快捷设置不当,比如数量过多或功能重复,用户可能会感到迷茫。某些应用设置了众多相似快捷,用户难以辨认,直接在主界面操作可能更简便。
桌面小组件的创建
桌面小组件能帮助用户在桌面上直接获取应用中的特定信息或执行某些操作。尽管文章中关于这一功能的描述并不多,但以天气应用为例,桌面小组件就能直接显示天气状况和气温,无需打开应用,这种方式非常方便。
构建小组件时,功能性是关键因素。若功能过于繁杂,或信息展示过多,桌面便会显得杂乱无章。以资讯类应用的小组件为例,若信息量过大,既不美观也不便于使用。
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());
}
桌面小组件的管理涉及尺寸和显示内容的考量。若小组件过大,会过多占用桌面空间,有些社交应用的小组件就存在这个问题。同时,显示内容必须及时更新,否则就失去了存在的意义。以股票小组件为例,若不更新股价等数据,这样的小组件就失去了价值。
用手机时,你是否曾因杂乱的快捷键或小组件而感到烦恼?若如此,欢迎在评论区分享你的遭遇。同时,也希望大家能点个赞并转发这篇文章。