1

我在单击 qml 中的按钮时调用了 BBM 的邀请,但我需要为联系人发送邀请如何做到这一点?我的代码

 Button {
        text: "Invite"
        onClicked: {
            invokeQuery.uri = "pin:210000A"
            invokeQuery.updateQuery();
        }
        attachedObjects: [
            Invocation {
                id: invokeShare
                query: InvokeQuery {
                    id: invokeQuery
                }
                onArmed: {
                     trigger("bb.action.INVITEBBM");

                }
            }
        ]
    }

谁能给我一些解决方案来解决这个问题。?谢谢

4

1 回答 1

0

调用查询是不可变对象,这意味着查询中的值不是动态的。如果要动态更新查询,则需要通过控制信号或变量来完成。

例如,您有一个组件调用Inviter,其pin属性暴露:

import bb.cascades 1.0

Container {
    property string pin
    Button {
        text: "Invite to BBM"
        onClicked: {
            query.uri = "pin:" + pin
            invoke.trigger("bb.action.INVITEBBM")
        }
    }
    attachedObjects: [
        Invocation {
            id: invoke
            query: InvokeQuery {
                id: query
                invokeTargetId: "sys.bbm.sharehandler"
                onQueryChanged: {
                    invoke.query.updateQuery()
                }
            }
        }
    ]
}

然后你可以这样使用它:

import bb.cascades 1.0

Page {
    Container {
        layout: DockLayout {
        }
        TextArea {
            id: pinEditor
            hintText: "Enter PIN to invite"
            onTextChanged: {
                inviter.pin = text
            }
            input.submitKey: SubmitKey.Send
        }

        Inviter {
            id: inviter
            horizontalAlignment: HorizontalAlignment.Center
            verticalAlignment: VerticalAlignment.Center
        }
    }
}

另外,不要忘记在您的文件中启用“Blackberry Messenger”权限bar-descriptor.xml并将以下库添加到您的.pro文件中:

LIBS += -lbbplatformbbm
LIBS += -lbbsystem
于 2013-02-22T00:37:58.597 回答