0

NexusSにAndroid2.3.4をインストールした後、NFCアプリが起動しなくなりました。

Googleのドキュメントに記載されている3つのインテント(NDEF_DISCOVERED、TECH_DISCOVERED、TAG_DISCOVERED)を試してみましたが、いずれも問題を解決し、Nexux SはデフォルトのGoogleアプリケーションを開き続け、アプリを無視します。

私はマニフェストにこれを持っていました

<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>

私が間違っていなければ、ニュース2.3.3でサポートされているようですが、NexusSがそれを無視するのはなぜですか。

私を手伝ってくれますか。

よろしく、ヒューゴ。

4

2 に答える 2

1

これをインテント フィルターに追加する必要があります。

<intent-filter>
   <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
</intent-filter>

タグがスキャンされると、Android はそれを処理するアプリを尋ねるポップアップを表示する必要があります。

アップデート

あなたのコメントからの追加情報に基づいて、問題は Android によって認識される情報がタグに含まれていることです。この場合、それは URL です。Android は URL を処理できるアプリ (デフォルトの NFC アプリ) を見つけることができるため、そのアプリが優先され、タグ検出を単純に処理するアプリの代わりに呼び出されます。タグ検出は、タグに一致するインテント フィルタが他にない場合にのみディスパッチされます。ドキュメントを引用するには:

android.nfc.action.TAG_DISCOVERED: このインテントは、アクティビティが NDEF_DISCOVERED および TECH_DISCOVERED インテントを処理しない場合、またはスキャンされるタグが不明な場合に開始されます。

そのため、タグ内のメッセージも処理するようにタグを宣言する必要があります。ターゲットとするデータのタイプ (この場合は URL) も正確に指定する必要があります。そうしないと、Google Android アプリが URL に対して優先されます。詳細については、Android NFC ページをご覧ください。

于 2011-05-18T20:05:04.193 に答える
1

インテント フィルターにもデータを追加する必要があります。http://developer.android.com/guide/topics/nfc/nfc.html#tech-discを参照してください。

NFC インテントのフィルタリングの ACTION_NDEF_DISCOVERED の下を見てください。

于 2012-02-08T06:50:57.933 に答える