2

Android アプリが、Bluetooth OOB セットアップ レコードを含む NFC タグに反応するようにしたいと考えています。私のマニフェストには以下が含まれます:

<!-- intent filter for matching an NDEF MIME message. -->
<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="application/vnd.bluetooth.ep.oob"/>
</intent-filter>

しかし、タグをスキャンすると、アプリが起動せず、代わりに Bluetooth 接続が開始されます。アプリでこれらのタグを処理する方法はありますか? (注: URI タグなどの他のインテント フィルターは、アプリの起動に問題なく機能するため、おそらくこの MIME タイプに固有のものです。)

4

2 に答える 2

1

これはAndroid Application Recordであるため、すべてのフィルターをバイパスします。ただし、できることは、アクティビティにフォアグラウンド ディスパッチを実装させることです。

これを使用すると、受信するインテントをインターセプトするためにアクティビティを開くことができます。

public void onNewIntent(Intent intent)

インテント フィルタ アプローチを使用する場合、これらのインテントは を介し​​て配信されますがonResume()、このケースは異なります。onNewIntent(Intent intent)アプリが実際にアクティブなときに、フォアグラウンド ディスパッチを使用すると、タグが配信されます。

アプリケーションが別の場所から起動されると、フィルター タイプのタグが onResume() を通じて配信されます。タグに応じて、インテントのアクションは異なります。詳細については、 Android SDK ドキュメントを参照してください。

于 2014-04-09T09:29:24.547 に答える
0

NDEF メッセージの最初のレコードに URI レコードを追加するタグを作成できるかもしれません。最初のレコードは NDEF メッセージのタイプであるためです。次に、URI インテント フィルターを使用できます。

于 2013-07-12T15:43:59.107 に答える