65.9K
CodeProject 正在变化。 阅读更多。
Home

在 BlackBerry Messenger 中使用调用框架

2012年12月20日

CPOL

3分钟阅读

viewsIcon

6575

在 BlackBerry Messenger 中使用调用框架

我之前发布的博客文章(如下所列)涵盖了 BlackBerry® Messenger (BBM™) 社交平台在 API 级别提供的功能

现在让我们看看如何使用调用框架来调用 BlackBerry Messenger,并将来自 BBM 的卡片引入您的应用程序。如果您对“卡片”这个术语不熟悉,请允许我解释一下。可以将卡片视为另一个应用程序的屏幕,该屏幕显示在您的应用程序中,并且就像您自己的应用程序中的屏幕一样运行。卡片成为构成 BlackBerry® 10 的流程的一部分,从而实现无缝的用户体验,避免用户必须切换应用程序。

本博客文章中使用的代码示例是 QML,但请记住,您可以从 C++、BlackBerry® WebWorks™ 和 Adobe® AIR® 中使用这些调用功能。

下面是一个屏幕截图,显示了您可以在应用程序菜单中使用的、用于调用 BBM 的操作。您在下面看到的“BBM 调用”文本代表您的应用程序屏幕(实际上显示的是 BBM 调用示例)。每个 BBM 卡片都将显示在其上方。用户可以随时返回查看您的应用程序屏幕或完全关闭卡片,从而返回到您的应用程序屏幕。

让我们分别看一下这些卡片,了解它们是如何被调用的,以及调用后它们的样子。

启动 BBM 聊天

InvokeActionItem {
    title: "Start BBM Chat"
    query {
        invokeActionId: "bb.action.BBMCHAT"
        uri: "pin:2100000a"
    }
}

上面的代码展示了如何启动 BBM 聊天。聊天窗口将作为卡片流入您的应用程序。在上面的示例中,使用了单个 PIN。如果您省略 URI 参数,系统将提示用户从其 BBM 联系人列表中选择一个联系人以包含在聊天会话中。如果与该联系人的聊天会话已存在,它将显示并填充之前的消息。

设置 BBM 头像图片

InvokeActionItem {
    title: "Set BBM Avatar Pic"
    query {
        invokeTargetId: "sys.bbm.imagehandler"
        invokeActionId: "bb.action.SET"
        uri: "file:///path/to/the/file.png"
    }
}

您可以提示用户将其 BBM 头像图片更改为您应用程序指定的图片。这将触发一张卡片,该卡片预览图像并允许用户裁剪或缩放。用户对其选择感到满意后,他们可以单击“保存”以更新其 BBM 头像。

邀请加入 BlackBerry Messenger

InvokeActionItem {
    title: "Invite to BBM"
    query {
        invokeActionId: "bb.action.INVITEBBM"
        uri: "pin:2100000A"
    }
}

如果您知道尚未成为 BlackBerry Messenger 用户的联系人的 BlackBerry PIN,您可以使用如上所示的BlackBerry.action.INVITEBBM调用操作邀请他们加入 BBM。然后,用户可以在发送消息之前向其联系人编写个性化消息。

通过 BBM 分享文本

InvokeActionItem {
    title: "Share Text Over BBM"
    query {
        mimeType: "text/plain"
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        data: "This is some text to share."
    }
}

通过 BBM 分享文本使您的应用程序能够启动聊天会话,并在消息输入字段中填充数据部分中指定的文本。就像启动上面的 BBM 聊天会话一样,如果之前的聊天会话存在,则将显示消息历史记录。

通过 BBM 分享图像

InvokeActionItem {
    title: "Share Image Over BBM"
    query {
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        uri: "file:///path/to/image/file.png"
    }
}

通过 BBM 分享图像的工作方式与分享文本几乎相同,只不过您指定一个指向图像文件的 URI。它会弹出一个聊天卡片,其中包含一条已编写并准备好发送的消息,并附带该图像。

总结

为简单起见,上面的 QML 代码示例使用了硬编码的数据和 URI 值。但是,在实际应用程序中,您需要使用基于应用程序中变量的动态值。您可以使用 onTriggered 方法来做到这一点。这是一个用例示例

InvokeActionItem {
    title: "Share Text Over BBM"
    query {
        mimeType: "text/plain"
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        data: "This is some text to share."
    }
    onTriggered: {
        data = "Some new text"
    }
}

调用后,上面的示例将在聊天会话中填充“Some new text”。在实际应用程序中,您会将“Some new text”字符串更改为指向应用程序中的变量或控件。

到此为止,是目前可用于 BlackBerry 10 的 BBM 卡片列表。正如您所看到的,只需使用几行代码,您就可以将一些强大的功能(如 BBM 聊天)集成到您的应用程序中。尽情调用吧!

© . All rights reserved.