隐藏 Samsung Galaxy 设备上的“不支持 NFC 标签类型”错误

2023-11-25

我正在开发一款仅扫描 MIFARE Classic 卡的 UID 的应用程序,以方便考勤登记。我已经让它工作了。然而,每次我在 Galaxy S4 上扫描卡时,都会收到一条提示“不支持 NFC 标签类型”。

我想在应用程序打开时阻止或隐藏该消息。

我注意到有还有一个问题在 Galaxy S6 上提出同样的要求,但被否决了一次,然后就被忽略了。

I found this然而,我无法从三星开发者论坛上的对话中提取答案:

  if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {
      myTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 
      tagID = intent.getByteArrayExtra(NfcAdapter.EXTRA_ID);
      alertDialog.dismiss(); 

它看起来像alertDialog.dismiss()部分是我需要的,但没有解释他们从哪里得到的alertDialog对象来自.


Android 4.4之前

您尝试做的事情根本不可能从应用程序中实现(至少在未root/未修改的设备上)。 Android 系统(或更具体地说,NFC 系统服务)会在将标签分派到您的应用程序之前显示消息“不支持 NFC 标签类型”。这意味着 NFC 系统服务会过滤 MIFARE Classic 标签,并且从不通知任何应用程序有关它们的信息。因此,您的应用程序无法检测 MIFARE Classic 标签或规避该弹出消息。

在获得 root 权限的设备上,您可以使用以下任一方法绕过该消息

  1. Xpose 修改 NFC 服务的行为,或者
  2. 系统分区上的 CSC(消费者软件定制)功能配置文件(请参阅 /system/csc/。如果 CSC 功能有效,NFC 系统服务将禁用弹出窗口并将 MIFARE Classic 标签分派给应用程序<CscFeature_NFC_EnableSecurityPromptPopup>设置为除“mifareclassic”或“all”之外的任何值。例如,您可以使用:

    <CscFeature_NFC_EnableSecurityPromptPopup>NONE</CscFeature_NFC_EnableSecurityPromptPopup>
    

    例如,您可以将此条目添加到文件“/system/csc/others.xml”(在<FeatureSet> ... </FeatureSet>该文件中已存在)。

既然您想要 Galaxy S6(您链接的问题)还有:这个方法刚出来的时候我就在S4上测试过。我尚未验证这是否仍然适用于最新固件或其他设备(例如 S6)。

从安卓4.4开始

This is pure guessing, but according to this (link no longer available), it seems that some apps (e.g. NXP TagInfo) are capable of detecting MIFARE Classic tags on affected Samsung devices since Android 4.4. This might mean that foreground apps are capable of bypassing that popup using the reader-mode API (see NfcAdapter.enableReaderMode) possibly in combination with NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐藏 Samsung Galaxy 设备上的“不支持 NFC 标签类型”错误 的相关文章

  • (colorPrimaryDark) 状态栏颜色在 android v21 上不起作用?

    我在 style xml 上添加了 colorPrimaryDark 但状态栏 android v21 上的颜色没有受到影响 我有一个自定义工具栏 我在 style xml 代码中不使用操作栏主题 如果有任何解决方案请帮助我吗 样式代码
  • 检查片段是否存在并重用它

    每次用户单击列表视图中的项目时 我都会使用以下代码创建一个片段 但通过这种方式 片段是在每次用户点击时创建的 我想要的是重用旧片段 如果存在 并仅重新加载其内容 不创建新片段 MagazineViewFragment fragment ne
  • 从主题获取 EditText 的“默认”颜色值

    我有一个Activity其中包含一个EditText关于 3 1 根据用户输入 我更改 EditText 中文本的颜色 红色表示错误 然后在文本正常时将其重置为黑色 其中一个问题涉及改变活动的整体主题 例如 将其从浅色主题更改为常规深色主题
  • Android NDK:断言失败:TARGET_PLATFORM 未定义

    使用 NDK r5b 时 当我使用以下命令在 jni 目录中进行构建时 NDK DIR ndk build 效果很好 但是当我切换到 r6b 只需以不同的方式设置 NDK DIR 并运行相同的命令时 我得到 usr local androi
  • 如何在 ImageButton 上显示文本?

    我有一个ImageButton我想在上面显示文本和图像 但是当我尝试使用模拟器时
  • 如何创建轮播ViewPager?

    我想做的只是 Android 中的水平轮播 如果我有 3 个屏幕 A B 和 C 那么我希望我的 ViewPager 允许我像这样移动 A B B C C A GTalk for Android 的对话可以这样切换 三星的主屏幕和应用程序屏
  • 检查 key 是否存在 firebase Android

    我想检查 firebase 数据库中是否存在密钥 例如 我想查找关键的 upvotes 以查看它是否存在 Here is an exmaple upvotes key does not exist in here 现在我尝试检查密钥 upv
  • 在 Android Studio 中调试服务的正确方法?

    在 Android Studio 中调试服务有正确的方法吗 或者 Android Studio 无法做到这一点 当我尝试调试时 它只会断开套接字 与目标虚拟机断开连接 地址 localhost 8600 传输 socket 希望你能在这里帮
  • 将 MapView 限制为屏幕的一半

    我试图让地图仅填充屏幕的上半部分 并在下半部分填充一些其他布局 现在我知道使用权重与表格布局相结合应该可以实现这一点 但是同一段 XML 代码可以完美地与 say 按钮配合使用 但不能与地图配合使用 截图在这里 https i stack
  • 文本末尾有额外的换行符

    使用此方法设置文本后 我似乎得到了一些额外的换行符TextView message setText Html fromHtml message 我怎样才能删除这些 它们导致我的布局扭曲 因为它在输出中添加了两条额外的行 该字符串已通过以下方
  • VS Code:无法安装以下 Android SDK 包,因为某些许可证尚未被接受

    我想做的是使用 VS Code 构建我的 flutter 应用程序 当我运行以下命令时flutter build apk FAILURE Build failed with an exception Where Build file F y
  • Byte[] 和 java.lang.OutOfMemoryError 按位读/写文件

    我正在努力擦除 Android 中的一些可用空间 这是我的代码 private void creatingFileDelete int size int passMode File lastFile new File Environment
  • Android Fabric Crashlytics 崩溃,初始化时未找到资源

    我从 google play 控制台收到了这份报告 看起来 Fabric 在启动时崩溃了 因为某些用户出现了资源未找到的异常 java lang RuntimeException at android app ActivityThread
  • 使用 ACTION_VIEW Intent Action 启动文件

    我有以下代码来启动文件 try path fileJsonObject getString filePath if path indexOf 0 path path substring 1 path length path root pat
  • Android:调用超类的原因?

    我正在查看 Android 开发人员网站上的记事本教程 我有一个关于调用活动超类的重写函数的问题 例如 public class Notepadv3 extends ListActivity Override public boolean
  • 在 Android 模拟器上运行 Google 地图 v2

    我尝试在我的 Android 应用程序中实现 Google 地图 v2 但不幸的是 我收到的不是地图 而是以下消息 是否可以在 Android 模拟器 平台 4 2 上运行这些地图 目前 引用 Google Android Map API
  • 将 glReadPixels 替换为 EGL_KHR_image_base 以加快像素复制速度

    我试图在 Android 本机进程中使用 EGL KHR image base 来替换 glReadPixels 因为它很慢 1280x800 RGBA 为 220ms 这是我到目前为止所拥有的 但我的它产生一个空缓冲区 只有零 uint8
  • RecyclerView onClick notificationItemRemoved 不会触发 onBindView

    I use notifyItemRemoved 方法我想更改其他剩余项目 但该方法没有触发onBindView 方法 除了使用notifyDataSetChanged 我想要附带的动画notifyItemRemoved method 如果您
  • 在 Cordova / PhoneGap 中生成 iOS 和 Android 图标

    我有一个新创建的 Cordova 项目 其中包含以下内容config xml设置 使用来自http docs phonegap com en edge config ref images md html http docs phonegap
  • 如何使用Android Studio录制Android屏幕?

    我已经在 Mac 上的 Applications 文件夹中安装了 Android Studio 我认为 sdk 位于包内容中 但现在我想使用 AShot jar 录制屏幕以获取应用程序的演示视频 我必须放弃SDK的路径 当我给出我认为正确的

随机推荐