Javascript 从共享服务器启动时,Windows 10 UWP HTML/Winjs应用程序未接收到激活的事件
我目前正在使用HTML5/WinJS技术开发一个Windows10UWP。我希望该应用程序成为PDF的共享目标。我已经把它包括在舱单上了Javascript 从共享服务器启动时,Windows 10 UWP HTML/Winjs应用程序未接收到激活的事件,javascript,win-universal-app,windows-10,winjs,Javascript,Win Universal App,Windows 10,Winjs,我目前正在使用HTML5/WinJS技术开发一个Windows10UWP。我希望该应用程序成为PDF的共享目标。我已经把它包括在舱单上了 <Extensions> <uap:Extension Category="windows.shareTarget"> <uap:ShareTarget Description="Test Share Target"> <uap:SupportedFileTypes>
<Extensions>
<uap:Extension Category="windows.shareTarget">
<uap:ShareTarget Description="Test Share Target">
<uap:SupportedFileTypes>
<uap:FileType>.pdf</uap:FileType>
</uap:SupportedFileTypes>
</uap:ShareTarget>
</uap:Extension>
</Extensions>
当我直接在windows phone上从Visual Studio 2015/debugging build内部启动应用程序时,我看到了控制台日志记录的预期输出。我还可以选择一个PDF文件,并将其共享到我的应用程序,然后它就会启动——但我在VS2015中根本看不到任何控制台输出。我正在寻找console.log(JSON.stringify(shareOperation,null,4))的输出
如果在谷歌和微软的网站上查找特定的Windows10UWP样本,但什么也找不到,我只找到了信息的片段
当我的应用程序从共享模式启动时,似乎没有收到onactivated事件
我做错了什么 我注意到,您的if声明
(args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.shareTarget)
当前包含在的if语句中
(args.detail.kind === activation.ActivationKind.launch)
因此,除非您的应用程序执行“启动”操作,否则不会执行您的if语句“shareTarget”
你应该像这样把它提取出来:
if (args.detail.kind === activation.ActivationKind.launch) {
console.log("launch");
if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
// TODO: This application has been newly launched. Initialize your application here.
console.log("newly launched");
}
} else if(args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.shareTarget) {
var shareOperation = args.detail.shareOperation;
console.log(JSON.stringify(shareOperation, null, 4));
}
这是我制作的一个演示,您可以参考:我注意到,您的if声明
(args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.shareTarget)
当前包含在的if语句中
(args.detail.kind === activation.ActivationKind.launch)
因此,除非您的应用程序执行“启动”操作,否则不会执行您的if语句“shareTarget”
你应该像这样把它提取出来:
if (args.detail.kind === activation.ActivationKind.launch) {
console.log("launch");
if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
// TODO: This application has been newly launched. Initialize your application here.
console.log("newly launched");
}
} else if(args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.shareTarget) {
var shareOperation = args.detail.shareOperation;
console.log(JSON.stringify(shareOperation, null, 4));
}
以下是我制作的演示,您可以参考: