【问题标题】:NFC read and writeNFC读写
【发布时间】:2011-09-06 12:43:43
【问题描述】:

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

<?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 活动”。

【问题讨论】:

    标签: android tags android-manifest nfc


    【解决方案1】:

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

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

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

    当 newIntent-event 被触发时,您就可以在 NFC 标签上写入您的数据。要在 NFC 标签上写入数据,请点击此链接 http://developer.android.com/guide/topics/nfc/index.html#write

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

    【讨论】:

      【解决方案2】:

      当您的 Activity 恢复时,您应该在 ActivityClass 的 OnResume Method() 中使用前台调度。要阅读标签,请点击此链接Reading NFC Tag With ForeGround Dispatch。在写作时,您应该再次为 WritingActivity 设置前台调度。不要忘记在 Activity 的 OnPause 方法中停止前台调度。这样一次只有 1 个活动将注册前台调度

      【讨论】:

        猜你喜欢
        • 2019-07-09
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 2014-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多