繁体   English   中英

NFC读写

[英]NFC read and write

我正在编写一个Android应用程序,以使用Nexus S读写标签。 我有两种不同的活动,一种是阅读的,另一种是写的。在各自的上下文中都将调用这两种活动。 我的清单如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="bri.nfc.NfcTagReaderV1"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
    <uses-permission android:name="android.permission.NFC"/>
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".NFCTagReaderV1Activity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.example.android.nfc.TagViewer">
            <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <data android:mimeType="text/*" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <data android:scheme="http" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    <activity android:name="bri.nfc.writetag.WritetagActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <data android:mimeType="text/*" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <data android:scheme="http" />
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
</application>
</manifest>

在执行时,将随机调用这些活动。.一次调用tagviewer活动,而另一次调用writetag活动。

我要求我的应用程序在读取时应调用“ tagviewer活动”,在写入时应调用“ writetag活动”。

当您的活动恢复时,您应该在ActivityClass的OnResume Method()中使用前台分派。要读取标签,请单击此链接使用ForeGround Dispatch读取NFC标签 。在编写时,应再次为WritingActivity设置前台分派。 不要忘记在您的Activity的OnPause方法中停止Foreground Dispatch。因此,一次只有1个活动将注册前台分派

您无需为“ writetag活动”声明意图过滤器。 相反,您需要使用前台调度系统。

以下链接将您带到Android Dev页面,该页面描述了如何实现前台调度系统。 实现非常简单。

http://developer.android.com/guide/topics/nfc/index.html#foreground-dispatch

触发newIntent事件后,您便可以在NFC标签上写入数据。 要在NFC标签上写入数据,请点击以下链接http://developer.android.com/guide/topics/nfc/index.html#write

这就是我在应用程序中执行此操作的方式,并且效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM