Windows phone 8 中调用 IAP 函数时无效的跨线程访问

invalid cross-thread access When calling IAP function in Windows phone 8

我正在使用适用于 Windows Phone 8.0 的 Cordova 插件集成 In App Purchase 我在插件中添加了一个名为 PurchaseProduct 的函数,它将在 JS Cordova 项目中调用。

namespace WPCordovaClassLib.Cordova.Commands
{
...............

public async void PurchaseProduct(string options)
{
   string productId = JSON.JsonHelper.Deserialize<string[]>(options)[0];
     ......
    try
    {
       await CurrentApp.RequestProductPurchaseAsync(productId, false);
       ........
    }
............

在线下调用效果很好。 上市=等待Store.CurrentApp.LoadListingInformationAsync();

但是当我打电话的时候 等待CurrentApp.RequestProductPurchaseAsync(productId, false); 异常发生如下。

无效的跨线程访问

我不知道现在发生了什么。

有人可以帮助我吗?

对不起。 我已经修复了这个荒谬的问题。

使用 async 关键字。

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
   functionA();
});

.....
public async void functionA(string options)
{
.....
   await CurrentApp.RequestProductPurchaseAsync(productId, false);
.....
}