Winjs应用程序中的社交共享

时间:2014-07-04 02:12:55

标签: winjs windows-phone-8.1 sharing social

我试图在我的winjs应用程序中添加社交分享功能(facebook,mail等),但无法找到内置的功能。

在C#/ VB应用程序中,有ShareLinkTask,但我找不到winjs。应该可以,因为winjs可以访问电话功能。

2 个答案:

答案 0 :(得分:3)

您必须首先获取当前视图的DataTransferManager并为datarequested事件添加一个侦听器。当此事件触发时,您可以指定要共享的数据。

var dataTransferManager =
        Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
dataTransferManager.addEventListener("datarequested", dataRequested);
...
function dataRequested(e) {
    var request = e.request;
    request.data.properties.title = 'a title';
    request.data.setText('Some text');
};

有关此示例的更多信息here...

要在应用中的任何位置显示共享功能,只需将click事件的处理程序添加到元素并显示UI。

document.getElementById("share").addEventListener("click", function () {
    Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
}, false);

您可以在MSDN找到分享其他内容的所有信息,例如HTML。

答案 1 :(得分:2)

我想您需要使用共享合同,以防您使用WinRT应用程序。由于魅力条不存在,您可能需要进行编码

Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();

function launchShare() {
    var shareButton = document.createElement("button");
    shareButton.setAttribute("id", "showShareButton");
    shareButton.innerText = "Click to share!";
    shareButton.addEventListener("click", function () {
        Windows.ApplicationModel.DataTransfer.DataTransferManager.showShareUI();
    });
    document.body.appendChild(shareButton);
}

请参阅http://msdn.microsoft.com/en-in/library/windows/apps/hh464923.aspx