应用快捷方式¶
创建固定快捷方式¶
在 Android 8.0(API 级别 26)及更高版本中,您可以创建固定快捷方式。与静态和动态快捷方式不同,固定快捷方式在受支持的启动器中显示为单独的图标。右图显示了这两类快捷方式之间的区别。
Note
注意:当您尝试将快捷方式固定到受支持的启动器上时,用户会收到一个确认对话框,询问其是否允许固定该快捷方式。如果用户不允许固定该快捷方式,启动器会取消这一请求。
下面的示例向你展示了如何创建一个应用快捷方式
createPinnedShortcut("OnlyId") {
return@createPinnedShortcut Intent(context, MainActivity::class.java)
}
为快捷方式设置 resultIntent¶
通过 shortcutResultIntent
参数设置 resultIntent 。
createPinnedShortcut(
shortcutId = "OnlyId",
shortcutResultIntent = { intent ->
PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)
}
) {
return@createPinnedShortcut Intent(context, MainActivity::class.java).apply {
action = Intent.ACTION_VIEW
}
}
创建动态快捷方式¶
调用 DynamicShortcuts
来创建一个动态快捷方式。
val shortcut = ShortcutInfoCompat.Builder(context, "OnlyId")
.setShortLabel("Website")
.setLongLabel("Open the website")
.setIcon(IconCompat.createWithResource(
context, R.drawable.ic_launcher_foreground))
.setIntent(Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.mysite.example.com/")))
.build()
addDynamicShortcuts(listOf(shortcut))