2

ブラウザ、メール、bbmで特定のURLが要求されたときに起動するアプリケーションを登録することはできますか?

たとえば、ユーザーがリンクflycraft:// replay / 123をクリックすると、アプリが起動され、URIが渡されるようにしたいと思います。

4

3 に答える 3

4

現在、これは不可能です。

これには2つの部分があります。

  1. ブラウザへのURIスキームの登録。たとえばflycraft://、ブラウザがこれらのリンクを呼び出し可能として扱うことを認識できるようにします。
  2. flycraft://アプリが読み込まれるように、呼び出しを処理するようにアプリを登録します。

残念ながら、現在、最初の部分は不可能です。計画はありますが、現段階では具体的なものはありません。

于 2013-01-18T09:54:53.257 に答える
1

はい!これは、BB10呼び出しフレームワークを使用して実行できます。かなりの詳細がappurl.orgで提供されています。要するに:

  1. まだ呼び出しターゲットがない場合は、bar-descriptor.xmlファイルに呼び出しターゲットを追加します。
  2. アクション「bb.action.VIEW」と「bb.action.OPEN」、およびタグを使用して、ターゲットにターゲットフィルターを追加します<property var="uris" value="flycraft:"> </property>
  3. invokeManagerアプリにオブジェクトを追加し、そのシグナルを、そのリクエストを処理できるコードのスロットにmain接続します。invoked
于 2013-03-25T23:07:28.860 に答える
1

BlackBerry 10でこれを行う方法は、バー記述子ファイルに以下のコードを追加することです。

<invoke-target id="eu.nlogn.flycraftplaybook.replayview">
<invoke-target-type>application</invoke-target-type>
    <filter>
        <action>bb.action.VIEW</action>
        <mime-type>*</mime-type>
        <property value="flycraft://" var="uris" />
    </filter>
</invoke-target>

次に、NAVIGATOR_INVOKE_TARGETイベントをリッスンし、次のように処理する必要があります。

const navigator_invoke_invocation_t *invoke = navigator_invoke_event_get_invocation(event);

if (invoke) {
    // retrieve invocation action
    const char *action = navigator_invoke_invocation_get_action(invoke); 
const char *uri = navigator_invoke_invocation_get_uri(invoke);  

if (action && uri) {
        // handle the uri you got
    }
} else {
    fprintf(stderr, "Error retrieving invocation: %s\n", navigator_event_get_err(event));                               
}

残念ながら、Playbookでこれを行う方法はありません。

于 2013-06-16T09:03:31.073 に答える