问题标签 [ndef]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1572 浏览

android - 使用 ActivityInstrumentationTestCase2 通过 Intent 传递输入数据 (NDEF msgs) 来测试 Android 应用程序

很长一段时间以来,我都可以通过阅读 StackOverflow 上的许多不同帖子来解决我的问题,但现在我的问题变得非常有趣。我被卡住了,也许有人可以给我一些提示:

我想使用ActivityInstrumentationTestCase2测试 Android 应用程序。我的测试场景如下:我的 Android 设备上的数据库中有几个测试数据集(十六进制字符串,编码有效和无效的 NDEF 消息)。我为数据库中的每个行条目生成了一个 java 文件,其中包含对我要测试的应用程序的调用。

以下是这些功能之一的示例:

如您所见,我使用了 Robotium 框架,并按照他们的常见问题解答和教程进行了所有设置(特别是:https ://code.google.com/p/robotium/wiki/RobotiumForAPKFiles )

我正在使用专门的Instrumentation Runner,它能够将结果写入 xml 文件,并且似乎适合我的需要;这是我的清单文件:

到目前为止我已经尝试/取得的成就:

  • 我想测试的应用程序是第三方应用程序,所以我用我的调试密钥重新签署了它们。(作品)
  • 由于我想测试不同的应用程序,我在手机上实现了包含测试用例的 Java 文件的生成;因此,通过按钮单击包含*.java我所有测试的文件(构造函数、setUp()、testNdefPush0() ... testNdefPush100()、tearDown())并Manifest.xml在手机上生成一个合适的文件。然后将这些文件拉到PC上,在测试项目中编译(ant clean, ant debug, ant install -r /path/to/target.apk)并安装到手机上
  • 我可以使用 adb shell 运行测试:

    adb -d shell am instrument -w -r -e class de.nfc.tests.NfcTestCase -e junitOutputDirectory /mnt/sdcard/ de.nfc/pl.polidea.instrumentation.PolideaInstrumentationTestRunner

  • 如果测试数据有效,则仪器工作并生成一个 xml 文件,其中包含 sdcard 上的结果。

  • 如果测试数据无效(参见示例) Instrumentation 崩溃并且无法继续进行以下测试:

    INSTRUMENTATION_RESULT:longMsg=java.lang.NullPointerException:无法启动活动 ComponentInfo{se.anyro.nfc_reader/se.anyro.nfc_reader.TagViewer}:java.lang.NullPointerException

问题

我怎样才能实现,失败的测试被记录为失败,JUnit 继续进行以下测试。

我在这里发现了一个类似的问题Android JUnit test suite hangs after Activity throws NullPointerException in one test case,但到目前为止没有回复:(

有没有人通过向他们传递测试数据来测试(第三方)应用程序Intent并且可以分享/提供一些建议/经验?

我确实希望我把问题说清楚了,因为它的设置非常复杂,我希望我为不熟悉该主题的人提到了所有相关事实(你知道森林和树木;))如果没有,请不要介意问,我会尝试解释:D

0 投票
1 回答
852 浏览

java - Android NFC 未在点击时打开正确的类

我有一个包含 2 个类的应用程序,CardActivity当 NFC 标签轻按/刷卡时,我需要我的应用程序打开第二个类。该应用程序可以正常打开,但MainActivity正在运行,而不是CardActivity.

我会冒险猜测这是我的清单的问题,但它看起来是正确的。这是无论如何:

我确信标签本身是正确的,因为我已经在另一个应用程序中打开它来查看它的内容。

下面是两个类。

卡片活动:

主要活动:

这是我用来编写标签的代码。顺便说一句,这是在另一个应用程序上完成的:

0 投票
1 回答
206 浏览

android - NFC - 我可以将 NdfMessage 传递给 iOS 吗?

我正在开发一个使用 NFC 技术的 APP 将一些数据传递给另一个 android 设备

但我可以将 NdfMessage 传递给 iOS 设备吗?

如果 iOS 设备有外部 NFC 芯片

0 投票
2 回答
1154 浏览

android - 轻松的 NFC 网址共享

我正在开发一个维基百科阅读器,我希望用户能够使用 NFC 将他正在阅读的文章分享给朋友。我不想打开这些意图或任何类似的东西,只允许朋友在他选择的浏览器中打开 url。我正在使用网络视图,因此获取网址并不难。

我一直在互联网上搜索某种如此简单的示例,但我还没有找到足够简单的东西。你们中有人对教程或示例有什么建议吗?

0 投票
1 回答
366 浏览

java - 众所周知的类型 android nfc 意图过滤器

我想过滤以下类型:

瓮:nfc:wkt:Hs

在android清单中。

我写的数据如下:

我现在如何正确过滤类型?

谢谢。

0 投票
2 回答
3715 浏览

c++ - 如何将 NDEF 中的 NFC 标签转换为非 NDEF

有没有办法将 NDEF 格式的 NFC 标签再次转换为原始格式,即使其成为非 NDEF。

提前致谢

0 投票
1 回答
847 浏览

android - 三星 Nexus S 与 HTC - NFC 意图过滤器 + AAR

我将 AAR 保存在我的 NFC-Tag 上。如果我用 Nexus S (Android 4.1.1) 扫描 TAG,我会得到 NfcAdapter.ACTION_NDEF_DISCOVERED 并且 NFCReaderActivity 直接启动。

如果我对 HTC X (Android 4.0.3) 执行相同操作,则应用程序会启动,但我只获得了 android.intent.action.MAIN,因此 NFCReaderActivity 不会出现,并且标签也不会被扫描。

这适用于三星 Nexus S,但不适用于 HTC:

这是我的活动和过滤器。

有人出主意吗?


编辑:

这适用于 HTC,但不适用于三星 Nexus S:

在这里我得到以下异常@HTC - 也许这是我不知道的问题:堆栈:


也许问题是版本 4.1.1 vs 4.0.3 - 我不知道:事实是:只有 Ndef 适用于三星,如果我添加

0 投票
1 回答
1569 浏览

android - NFC 标签未在 Android 上的浏览​​器中打开 URL

我在包含以下 URL 的 Mifare Classic 标签上记录了 NDEF 消息:

它链接到我的网络服务器,我想从我的 Android 手机上的数据库中读取数据。当我在浏览器中键入该地址时,请求的页面会按原样打开。但是当我尝试使用 NFC 标签打开它时,会出现一个白屏,其中显示:

存储其他地址(我试过 google.com)工作得很好。所以我想知道在 NDEF 记录中使用 PHP 或 IP 地址是否存在任何已知问题?或者任何其他想法为什么它不起作用?

这里是消息的十六进制代码:

这真的很紧急,如果有人可以提供帮助,那就太好了!

0 投票
1 回答
454 浏览

android - NDEF_DISCOVERED 不适用于三星 Galaxy S3

我有一个我觉得很奇怪的问题。我有一个应用程序,它应该在扫描包含 NdefMessage 的标签时启动。这一切在 Galaxy Nexus、Nexus S 和 HTC one X 上运行良好,但当我尝试在 Galaxy S3 上执行此操作时,应用程序没有出现。

我的意图过滤器如下所示:

每次扫描包含 NdefMessage 的标签时,这应该会在应用程序选择器中显示应用程序。现在要在 Galaxy S3 上解决这个问题,我需要添加 TAG_DISCOVERED。但这不是我想要的,因为现在它会弹出我扫描的每个标签。

有没有其他人看到过这种行为?

编辑:

它还包含 TECH_DISCOVERED 意图过滤器,它还检查 ndef 技术,因此这不能解决问题。

0 投票
1 回答
515 浏览

android - 在 Ndef writeNdefMessage 中捕获 NFCSTATUS_INSUFFICIENT_STORAGE 错误

在使用 Ndef.writeNdefMessage 写入 NFC 标签时,我在 catch 块中收到 IOException 错误。检查 Logcat 显示 PhLibNfc_Ndef_Write 函数触发了 NFCSTATUS_INSUFFICIENT_STORAGE 错误,这有效地触发了 IOException。有没有办法在应用层捕获这个 NFCSTATUS_INSUFFICIENT_STORAGE 错误。我搜索了很多,但总是以 PhLibNfc_Ndef_Write 函数的源代码结束。

我用来写标签的代码

我遇到的 logcat 错误

对捕获 NFCSTATUS_INSUFFICIENT_STORAGE 错误有任何帮助吗?