Tôi có một Ứng dụng Cửa hàng Windows tạo ra một ô thứ cấp. Khi gạch được nhấp, tôi muốn ứng dụng thực hiện, chức năng off-line có hiệu quả là gì, nghĩa là tôi không muốn quay lại ứng dụng nhưng muốn ứng dụng thực hiện điều gì đó và sau đó thoát ra. Vì vậy, trong trường hợp này tôi muốn khởi chạy ứng dụng e-mail, cho exampe. Đây là nơi tôi cho đến nay:Ứng dụng Cửa hàng Windows - Thực hiện một tác vụ duy nhất khi khởi chạy từ một ô thứ cấp
app.addEventListener("activated", function (args) {
if (args.detail.kind === activation.ActivationKind.launch) {
if (args.detail.arguments !== "") {
// Activation arguments are present that
// were declared when the secondary tile was pinned to Start.
args.setPromise(WinJS.UI.processAll().done(function() {
var emailaddress = args.detail.arguments;
var promise = Email.SendNewMail.sendEmail(emailaddress);
//promise.complete();
return;
}));
} else if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
// TODO: This application has been newly launched. Initialize
// your application here.
} else {
// TODO: This application has been reactivated from suspension.
// Restore application state here.
}
...
Email chức năng ở đây:
sendEmail: function sendEmail(addess, subject, body) {
var mailto = new Windows.Foundation.Uri("mailto:?to=" + addess + "&subject=" + subject + "&body=" + body);
return Windows.System.Launcher.launchUriAsync(mailto);
}
Các lỗi Tôi hiện được là "đối tượng đã bị ngắt kết nối từ khách hàng của mình" - mà tôi giả định là do chương trình thoát trước lời hứa hoàn thành. Làm thế nào loại hành vi này có thể đạt được trong WInRT?
UPDATE:
Tôi đã có thông tin phản hồi từ MS về vấn đề này, và phản ứng của họ nếu đó là có hay không này là có thể, nó chắc chắn là không được hỗ trợ vì thoát ứng dụng programatically vi phạm yêu cầu cấp giấy chứng nhận 3.6.
Vì vậy, bạn đang tìm cách * chỉ * khởi chạy ứng dụng email, đúng không? Chức năng Email của bạn trông như thế nào? – GotDibbs
Đúng vậy. Tôi đã chỉnh sửa câu hỏi của tôi để bao gồm nó. –