Sergey Shakhnazarov commented on CB-11924:

[~sebastienlorber], thanks for reporting!
I've tested this and the following approach works for me:

var app = {
    // Bind Event Listeners
    // Bind any events that are required on startup. Common events are:
    // 'load', 'deviceready', 'offline', and 'online'.
    bindEvents: function() {
        document.addEventListener('deviceready', this.onDeviceReady, false);
        document.addEventListener('activated', this.onActivated, false);
    onActivated: function (args) {
        app.activated = true;
        app.activatedArgs = args;
        // Sometimes onActivated fires before deviceready, so plugins might not 
be ready
        navigator && navigator.notification && navigator.notification.alert && 
navigator.notification.alert('onActivated: ' + JSON.stringify(args));
        // ^ this happens on Windows Anniversary
    // deviceready Event Handler
    // The scope of 'this' is the event. In order to call the 'receivedEvent'
    // function, we must explicitly call 'app.receivedEvent(...);'
    onDeviceReady: function() {

        if (app.activated) {
            // Sometimes onActivated fires before deviceready, so plugins might 
not be ready
            navigator && navigator.notification && navigator.notification.alert 
&& navigator.notification.alert('onDeviceReady, onActivated (from the past): ' 
+ JSON.stringify(app.activatedArgs));

I.e. we are able to receive shared uri in {{activated}} event handler - it just 
might fire before deviceready so activation args should be stored in the app 
context - I've send a PR for the docs update.

> Share target: sharing to cordova app makes the app open but crashes afterwards
> ------------------------------------------------------------------------------
>                 Key: CB-11924
>                 URL: https://issues.apache.org/jira/browse/CB-11924
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Windows
>    Affects Versions: 4.4.2
>         Environment: Windows 10, cordova cli 6.1.1, affects cordova platform 
> 4.4.2, also current 4.5.0 dev branch.
>            Reporter: Sebastien Lorber
> Steps to reproduce:
> ========================
> {code}
> cordova create shareTargetTest
> cd shareTargetTest
> cordova platform add https://github.com/apache/cordova-windows
> {code}
> In manifest, add Share Target of type URI, leading to the following XML:
> {code}
>       <Extensions>
>         <uap:Extension Category="windows.shareTarget">
>           <uap:ShareTarget>
>             <uap:DataFormat>URI</uap:DataFormat>
>           </uap:ShareTarget>
>         </uap:Extension>
>       </Extensions>
> {code}
> Run Windows 10 emulator (also crashed on HP Elite X3 device)
> Open Edge browser on any page, and share page to HelloCordova app.
> The HelloCordova app opens, and after some seconds, the emulator crashes 
> (WWAHost.exe fails with code = -1: don't know how to get more details 
> unfortunatly)
> --------------------------------------------------------------------------
> Expected result:
> ========================
> I don't know if this has ever been done by anyone on a Cordova app, but I 
> want to share a Edge link to my application. For Android/iOS, this means that 
> the app should open, or resume itself, and call some JS callback.
> I tried to follow these Windows8 tutorials that still look relevant for 
> Windows10 app, with no success.
> https://msdn.microsoft.com/en-us/library/windows/apps/hh758301.aspx
> It seems the "activated" callback never fires (weither it's declared in my 
> app, or in cordova.js, at least I don't see anything in the console logs I've 
> put everywhere).
> Can you tell me if I do anything wrong to achieve this usecase? thanks

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to