0

Android APIでは、次のように通知されます。

タグにAARが含まれている場合、タグディスパッチシステムは次の方法でディスパッチします。

  1. 通常どおり、インテントフィルターを使用してアクティビティを開始してみてください。インテントに一致するアクティビティがAARにも一致する場合は、アクティビティを開始します。

  2. インテントをフィルタリングするアクティビティがAARと一致しない場合、複数のアクティビティがインテントを処理できる場合、またはインテントを処理するアクティビティがない場合は、AARで指定されたアプリケーションを起動します。

  3. AARで起動できるアプリケーションがない場合は、GooglePlayにアクセスしてAARに基づいたアプリケーションをダウンロードしてください。

このパート2は少し紛らわしいです。インテントが複数のアクティビティに一致する場合は、アプリケーションを起動します。したがって、NFCインテントをフィルタリングするアクティビティがデフォルトのアプリケーション起動アクティビティではない場合、複数のアクティビティがインテントをフィルタリングする場合は開始しませんか?

言い換えると、アプリケーションにデフォルトのアクティビティ「A」とNFCインテントをフィルタリングする別のアクティビティ「B」がある場合、そのインテントをフィルタリングする他のアクティビティがないと、AARインテントはBを起動します。意図的に、私は別の行動を取り、活動Aが開始されます。

これは、インテントが常にアクティビティA(デフォルトの起動アクティビティ)に配信される可能性があるため、インテントフィルターを常にアクティビティA(デフォルトの起動アクティビティ)に配置することもできますか?

これが明確であることを願っています、

サム

4

1 に答える 1

1

したがって、複数のアクティビティフィルタが一致する場合、Androidはデフォルトでメインアプリケーションのアクティビティになります。

一致するアクティビティの1つ(どれ?)を選択するよりも良いようです。'競合する'フィルターを作成すると、これが得られますが、誰もあなたを強制しません;-)

于 2012-10-26T08:43:51.900 に答える