2015-03-08 2 views
2

На телефоне Windows 8.1 плагин приложения Cordova имеет доступ к showComposeNewEmailAsync, вот код;«Не реализовано» при вызове showComposeNewEmailAsync

exports.open = function (success, error, args) { 
var props = args[0], 
    email = exports.getDraftWithProperties(props); 

Windows.ApplicationModel.Email.EmailManager 
    .showComposeNewEmailAsync(email) 
    .then(function() { 
     success(); 
    }, 
    function (err) { 
     error(err); 
    }) 
    .done(success, 
    function (err) { 
     error(err); 
    }); 
}; 

я получаю ошибку «Не реализовано», казалось бы, от других сообщений, что этот метод доступен на этой платформе. Что мне не хватает?

ответ

0

Кажется, EmailManager.ShowComposeNewEmailAsync выдает исключение при вызове из потока фона (не-UI).

Используйте что-то вроде ниже для вызова кода в UI/основной поток:

Deployment.Current.Dispatcher.BeginInvoke(async() => 
{    
await EmailManager.ShowComposeNewEmailAsync(msg); 
});        
+0

«Об 8,1 Phone устройства ОС Windows Cordova приложение плагин ...» будет ваш код работать в этой среде? –

+0

Я воспроизвел исключение и протестировал исправление в приложении Cordova в WP 8.1 Emulator – Dekel

Смежные вопросы