2016-04-05 5 views
0

現在、HTML5/WinJSテクノロジを使用してWindows 10 UWPを開発中です。私はアプリケーションをPDFの共有対象にしたいと思います。 、私は、マニフェストにWindows 10 UWP HTML/Winjsアプリケーションが、共有チャームから起動したときにオンになっていないイベントを受信しない

<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の携帯電話に2015 /デバッグビルド直接Visual Studioの内部からアプリケーションを起動すると、私はindex.js

var app = WinJS.Application; 
    var activation = Windows.ApplicationModel.Activation; 
    app.onactivated = function (args) { 
     console.log("app.onactivated"); 
     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)); 
      } else 
     { 
     // TODO: This application has been reactivated from suspension. 
     // Restore application state here. 
     } 
     args.setPromise(WinJS.UI.processAll().then(function() { 
     // TODO: Your code here. 
     })); 

でこれを持っていますコンソールのロギングで期待される出力が見えます。 PDFファイルを選択してアプリケーションに共有して起動することもできますが、VS2015に反映されたコンソール出力は一切表示されません。私はconsole.log(JSON.stringify(shareOperation、null、4))の出力を探しています。

GoogleとMicrosoftのサイトで特定のWindows 10 UWPサンプルを検索しても何も見つかりませんでしたが、私は情報の断片しか見つけられませんでした。

私のアプリケーションが共有チャームから起動したときにonactivatedイベントを受信して​​いないようです。

私は間違っていますか?

答えて

2

は、私は現在、だからあなたの「shareTarget」の文があればしない限り実行されません

(args.detail.kind === activation.ActivationKind.launch) 

のif文に含まれている、

(args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.shareTarget) 

のあなたのif文に気づきましたあなたのアプリの「Launch」アクション。

あなたは次のようにそれを解凍する必要がありますShare Target Sample

:ここ

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)); 
} 

は、私はあなたが参照できると判断デモです

関連する問題