如何在我的颤振应用程序中创建 android 固定的聊天快捷方式?

Posted

技术标签:

【中文标题】如何在我的颤振应用程序中创建 android 固定的聊天快捷方式?【英文标题】:How to create android pinned shortcuts of chats in my flutter app? 【发布时间】:2022-01-15 17:42:06 【问题描述】:

我正在为我的项目编写一个聊天应用程序。我想包含类似 WhatsApp 的功能,我们可以通过单击添加快捷方式来创建聊天的主屏幕快捷方式。

没有插件,所以我想到了使用 PlatformChannel 并使用它调用本机 Kotlin 代码。但是我不知道如何在 Kotlin 中编写原生 android,所以我搜索了相同的代码。

我找到了官方文档,但他们的示例无法自行运行,因为它假设他们已经是一个 ID 为“shortcut-id”的快捷方式,我在这里查找了其他地方,例如旧问题、YouTube、许多博客网站,但是没有一个关于如何创建新的固定快捷方式的明确解决方案或代码,有些已经过时 或者在 java 中它们不是 Kotlin 解决方案。

无法单独运行的官方文档代码

val shortcutManager = getSystemService(ShortcutManager::class.java)

if (shortcutManager!!.isRequestPinShortcutSupported) 
// Assumes there's already a shortcut with the ID "my-shortcut".
// The shortcut must be enabled.
val pinShortcutInfo = 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.
val pinnedShortcutCallbackIntent = shortcutManager.createShortcutResultIntent(pinShortcutInfo)

// Configure the intent so that your app's broadcast receiver gets
// the callback successfully.For details, see PendingIntent.getBroadcast().
val successCallback = PendingIntent.getBroadcast(context, /* request code */ 0,
        pinnedShortcutCallbackIntent, /* flags */ 0)

shortcutManager.requestPinShortcut(pinShortcutInfo,
        successCallback.intentSender)

因此,如果您能抽出宝贵的时间,给我一个工作的方法或我可能得到答案的地方,那将是非常有帮助的。

【问题讨论】:

【参考方案1】:

嗯,你可以试试这个包quick_links

【讨论】:

其实我事先就知道,quick_actions 不是我要的,它是用于长按和获取静态选项,但我想让用户创建他们聊天的固定快捷方式......whatsapp 的一个功能您可以在其中打开聊天按应用栏右上角的菜单按钮,然后单击更多,然后如果单击它,您将获得添加快捷方式的选项,并且您已允许添加主屏幕快捷方式的权限,然后是新图标带有该人的姓名和显示图片将显示直接打开该特定人与您的聊天。

以上是关于如何在我的颤振应用程序中创建 android 固定的聊天快捷方式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 Cordova 应用程序中创建 android.json?

如何在我的程序的开始菜单中创建一个菜单?

无法在 android studio 中创建颤振项目

如何在颤振/飞镖中创建泛型类型的对象?

如何在 Android 中创建广播流

如何在android的操作栏中创建按钮[重复]