0

NFC ID番号を読み取り、それをNOT MAINアクティビティでEditTextに書き込むだけでよいNFC RFIDタグ読み取りアプリケーションに取り組んでいます。NFC 読み取りは、そのアプリの 100 の機能の 1 つにすぎません。Panasonic dl1携帯電話でテストすると、NFCタグを初めて電話にタッチすると、電話に処理するアプリの選択を示すダイアログが表示されます-「タグ」と「スターターリストNFC」の2つのアプリのみが表示されます。Starter List NFC を選択すると、IC カードを登録して名前を付けるという長いプロセスが必要になり、最終的にはタグが閉じたときに自動的に起動するアプリを選択します。タグを選択すると、リストに「タグ不明」のコメントが表示されます。私のアプリケーションには、次の機能とフィルターがあります。

<activity
        android:name="pl.infis.spedycja.activities.LoginActivity"
        android:label="@string/app_name"
        android:theme="@style/infisTheme"
        android:windowSoftInputMode="stateUnspecified|adjustPan" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="text/plain" />
        </intent-filter>
    </activity>

このシステムダイアログを歩き回って、このようにする可能性はありますか:アプリケーションが実行されているとき、NFCタグを電話に近づけると(1回目でも2回目でも)、何らかのアクティビティが開始され、NFCタグが表示されます編集テキストのIDとそれだけですか?PSランチャー以外のアクティビティにフィルターを追加してみましたが、応答しませんでした-常にランチャーアクティビティに応答しました

4

1 に答える 1

2

私がおそらく行う方法は、NFC フォアグラウンド ディスパッチBaseActivityを有効にするクラスを設計することです。で NFC インテントを受信するたびに、タグの ID を取得し、ID 値を含むインテントで関連するアクティビティを開始します。onNewIntent()

次に、すべてのアプリ アクティビティをこのクラスから派生させます。アプリの実行中に NFC タグがスキャンされるたびに、NFC インテントが自動的に受信され、目的のアクティビティ (タグ ID を表示できる) にディスパッチされます。

于 2013-05-14T19:08:24.557 に答える