2016-07-11 10 views
0

コルタナのバックグラウンドアプリは、開発者が自分のアプリ内の特定のページにリンクすることを可能にするdeep linking capabilitiesを提供します。代わりに別のアプリケーション、例えばウェブブラウザを開くことが可能かどうかは疑問だ。Cortanaバックグラウンドアプリからウェブページを開くことは可能ですか?

私の現在の回避策は、自分のアプリにディープリンクしてから、私のアプリが起動するとすぐにWindows.System.Launcher.launchUriAsyncに電話することです。しかし、これは、アプリケーションがWebブラウザに沿って開くことを意味します。私はそれが全く開かないようにしたいです!それは可能ですか? LaunchUriAsyncのためのMSDNのページから

答えて

1

クラシックWindowsアプリケーションからこのAPIを呼び出している場合を除き、このAPIは、(また、UIスレッドとして知られている)ASTAスレッド内から呼び出さなければなりません。

残念ながら、CortanaのバックグラウンドタスクはUIスレッドではありません。あなたはバックグラウンドタスクとして実行しており、その目的のために用意された一連のAPIを介してCortanaのUIに通信していますが、これらは設計によって制限されています。

あなたがUIスレッドに参加する必要があることを試みるのと同じ理由で失敗することになります。あなたは、あなたのアプリでWebコントロールをホストすることはできますが、連鎖起動ブラウザを式から削除することができます。

関連する問題