NFC标签打开应用到特定屏幕

时间:2014-09-30 01:24:17

标签: android nfc

从NFC和开放应用程序的研究中我了解到他们能够打开应用程序。我的问题是,它可以打开特定产品页面的应用程序吗?

如果我在商店并且我在两个产品前面放置了一个nfc标签,我可以编写每个标签以打开应用程序并转到每个产品的特定页面,其中包含有关该特定产品的信息吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您有一个包含URI http://www.example.com/myproduct1的标记。然后,您可以使用以下intent过滤器注册产品特定活动“MyProduct1Activity”:

<activity android:name=".MyProduct1Activity">
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/myproduct1" />
    </intent-filter>
</activity>

这将导致为包含URI http://www.example.com/myproduct1的代码启动活动MyProduct1Activity

或者,如果多个产品共享一个活动,您可以注册更通用的意图过滤器:

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="http"
          android:host="www.example.com"
          android:pathPrefix="/" />
</intent-filter>

使用活动的getIntent()方法来解析活动中的意图,以解析特定产品的URI。