当前位置: 首页 > 知识库问答 >
问题:

两个NFC标签链接到一个项目中的两个不同活动?

岑驰
2023-03-14

我正在做一个NFC应用程序,想知道这种情况是否可能:

比如说,我在一个项目中有两个NFC标签和两个活动。NFC A是通过在NFC A中编写MIME类型来打开活动A的

application/com.example.hello

在项目的清单文件中,活动A有以下意图过滤器:

  <intent-filter>
  <action android:name="android.nfc.action.NDEF_DISCOVERED" />
  <data android:mimeType="application/com.example.hello" />
  <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>

所以,这很好用。我将添加另一个NFC标签和另一个活动。NFC B是为了开放活动B而编写的

现在,我应该如何将MIME类型写入NFC B并为活动B设置意图过滤器?考虑到活动A和活动B都在一个项目和包中。

如果我在NFC A和B中为活动A和B编写相同的MIME类型,我会被问到在点击时打开哪个活动,我不想这样。

共有2个答案

夹谷浩博
2023-03-14

根据您想要实现的目标,最简单的方法是使用两个标签和两种不同的记录类型(例如,两种不同的MIME类型,但请注意,与自定义MIME类型相比,您更喜欢使用NFC论坛外部类型名称!)

假设你有

>

  • 标签A:

    +--------------------------------------+
    | MIME:application/com.example.hello.a |
    +--------------------------------------+
    

    标签B:

    +--------------------------------------+
    | MIME:application/com.example.hello.b |
    +--------------------------------------+
    

    然后,您可以为您的活动定义意图过滤器,以便ActivityA仅由标记A触发,而ActivityB仅由标记B触发:

    <activity android:name=".ActivityA" ...>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/com.example.hello.a" />
        </intent-filter>
    </activity>
    
    <activity android:name=".ActivityB" ...>
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="application/com.example.hello.b" />
        </intent-filter>
    </activity>
    

  • 董翰墨
    2023-03-14

    一种方法可能是在清单中有两个mimetype。然后你将这些MimeType链接到一个(额外的)活动,该活动将检查哪个MimeType实际上在你的标签上(A或B)。根据您发现的情况,您可以启动相应的活动A或B。

     类似资料:
    • 问题内容: 我有一个Java项目正在使用两个导入的具有相同类()的jar 。导入类时,有没有一种方法可以明确说明要使用哪个jar?使用: 似乎按照构建路径顺序的顺序使用该类,但是由于某种原因,似乎并非如此 在运行时。我正在Eclipse中构建项目。 问题答案: 您不能仅在Java源代码中执行所要求的操作。Java不是为此而设计的。 这是一种糟糕的情况,只有使用自定义类加载器才能可靠地处理它们,每个

    • 我在活动中有四个底部选项卡,其中一个选项卡将导航到另一个活动。这个活动有2个片段,四个选项卡中的每一个控制一个片段,当我点击(活动有2个片段)的选项卡时,应用程序停止 如有任何帮助,请提前感谢

    • 我在同一个活动中使用了两个时间选择器,让用户为特定任务选择开始时间和停止时间,我使用了支持库中可用的DialogFragment类,以向后兼容旧的Android版本。

    • 问题内容: 我运行foo.com。我在foo.com中有两个不同的应用程序:一个是foo.com/bar,另一个是foo.com/example。我使用会话来跟踪有关用户登录的信息,但是如果用户从foo.com/bar转到foo.com/example,则foo.com/example会看到用户从foo.com/启动的会话并使用该信息。我的问题是,如何同时为每个目录进行两个不同的会话? 问题答案:

    • 我在WebDriver中的测试有问题。 在第一个包我有2类(页)主页,登录页。 在secound包中,我有test-goToLiginPageTest和LoginTest。 在Gotoligini页面,我检查,我在主页上,并进入登录页面。 在LoginTest中,我检查我是否在登录页面上,并登录。 但来自goToLiginPageTest的两个测试通过,但来自LoginTest的测试失败。 我不确