- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我希望我的应用拦截手机发现的所有标签。这样我想检查标签的 uid 并在之后传递 Intent (显示应用程序选择器等)。
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
这就是我目前在 list 中的内容,以及用于 TAG_DISCOVERED 的 Intent 过滤器:
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.NfcB</tech>
<tech>android.nfc.tech.NfcF</tech>
<tech>android.nfc.tech.NfcV</tech>
<tech>android.nfc.tech.IsoDep</tech>
<tech>android.nfc.tech.MifareClassic</tech>
<tech>android.nfc.tech.Ultralight</tech>
<tech>android.nfc.tech.Ndef</tech>
<tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
当我扫描 Mifare 智能卡时,我的应用程序会被调用,当我将不同的标签与 NXP ICODE IC 一起使用时,会启动标准的 android 标签应用程序。
关于如何确保我看到所有标签的任何提示?
最佳答案
首先,技术列表的工作方式是所有列出的技术都用 AND 连接在一起,这意味着如果标签列出了所有不同的技术, Intent 就会传递给应用程序。我不知道有什么做的。你想要做的是更多:
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.NfcF</tech>
</tech-list>
等等。这 ORs 您想要的不同标签。 (NfcA 或 NfcB 等)现在这些技术中的一些结合在一起,比如 NfcA 和 Ultralight 或 Ndef。所以如果你想捕捉一张 NfcA 和 Ndef 的卡片,你会使用
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
现在,与标签上的技术最匹配的应用程序将启动,或显示在选择菜单中。但是 NDEF_DISCOVERED 优先于 TECH_DISCOVERED。现在 NDEF_DISCOVERED Intent 启动器可以非常具体地指定要传递的标签。虽然某些 NDEF 格式(如 Mime 类型)允许“捕获所有”过滤器(例如,Mime 的“/”),但有些则不允许。 (比如 uri 格式的 Ndef 记录)。对于那些,如果有针对它的特定应用程序,除非您知道并内置它,否则您将无法保证您的应用程序会启动。此外,对于 Ndef 标签(Mime 或 URI,但不能同时使用两者),我从未能够拥有多个 Intent 过滤器。但这可能是我不够努力。
如果另一个应用程序尝试做同样的事情(捕获尽可能多的标签),您将始终被它调用。因此,除非您在手机上安装了唯一的应用程序,否则不可能捕捉到每一个标签。但是像上面看到的那样格式化你的技术列表代码会让你更接近。
关于安卓 NFC : Intercept all Tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9009043/
我有一个注入(inject)了 Ninject 3.0 的服务类。我已经设置了它,因此它的代理是类代理而不是接口(interface)代理。该服务有 2 个方法,第一个方法返回广泛结果,第二个方法调用
当工具提示即将打开时,我想在状态栏中显示 wpf 应用程序中任何控件的工具提示文本。 当然,我可以尝试递归遍历主窗口的所有子控件,然后 设置他们的 ToolTipOpening事件总是相同的方法。但是
给定一个打开到 Web 服务器的套接字连接的 Flash 应用程序,是否可以读取与 Java 应用程序交换的数据包,而无需重定向所有 Flash 流量(即无需编写套接字代理)? 最佳答案 您想要做的事
我有一个文本框,我想对其进行一些验证。目前我有这段代码: function updateChanger() { // Validate input var likeMessage =
Linux 中的一些命令,例如。 ssh-agent $BASH 确保当前控制台中运行的命令的某些操作被另一个工具“拦截”。这一般是如何运作的?为了理解这一点,我应该研究哪些主题?假设我想制作一个工具
拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理 定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上 过滤器可以做认证
我一直在尝试实现应用程序范围的拦截器,但是,我一直看到以下错误: TypeError: this.interceptor.intercept is not a function 经过多次调试,我意识到
众所周知,我们可以像这样配置拦截器: 我的问题,如何配置
我正在开发一款游戏,里面有寻的导弹。目前,它们只是转向目标,这会产生看起来相当愚蠢的结果,所有导弹都跟随目标周围。 我想创造一种更致命的导弹,它将瞄准目标“将”到达的地方,但我对如何做到这一点感到有点
从 iTunes 中捕获事件有什么好的解决方案吗? 我想构建一个位于 iTunes 内部的插件,并响应特定歌曲的评级变化。对于 Windows,他们有一个我还没有深入研究的 SDK,但我也想为 Mac
现在我有一个名为 chartModelService 的 Angular 服务,上面有这个方法: this.fetchChartModel = function() { return $htt
我的 Controller 有以下方法: @RequestMapping(method = RequestMethod.POST) @ResponseStatus(HttpStatus.CREATED
如果您安装了 Facebook 应用程序,并使用应用程序 openURL 方法打开 Facebook 页面,您会注意到 Facebook 应用程序接管并处理此 URL,而不是 Safari 执行此操作
我有这样一个类: class A { public static void makeCall() { URL url = "www.google.com"; I
我希望我的应用拦截手机发现的所有标签。这样我想检查标签的 uid 并在之后传递 Intent (显示应用程序选择器等)。 这就是我目前在 list 中的内容,以及用于 TAG_DISCOVERE
我正在用 Playwright's API testing 测试服务器. 我有一个简单的 GET 路由,它总是返回 405 not allowed。它还记录调用了 API 路由。为了这个 StackO
有什么方法可以拦截 Android WebView 中的重定向请求? shouldInterceptRequest(WebView,WebResourceRequest) 似乎没有被调用! 我想通过以
This question already has answers here: Element MyElement is not clickable at point (x, y)… Other el
我有一个拦截器,捕获404错误 拦截(要求:HttpRequest,下一个:HttpHandler):可观察> return next.handle(req).pipe(retry(1),
有没有办法让 Cypress 捕获任何未使用 cy.intercept 处理和 stub 的请求。我希望 Cypress 返回一个有用的错误,以突出显示发出未 stub 请求的实例。目前它只是让这些请
我是一名优秀的程序员,十分优秀!