总的来说,我对Android开发和NFC还很陌生。我正在尝试构建一个应用程序来读取我对这张卡(公交卡)一无所知的NFC卡的内容,例如我想看看我还剩下多少张票。我用各种NFC应用程序扫描了这张卡,知道这张卡的类型是:IsoDepANDNfcB。现在我正在尝试使用IsoDep读取其内容,但没有成功(错误6A82、91AE、6E00等)。我有一个应用程序正在等待ACTION_NDEF_DISCOVERED||类型的新IntentACTION_TECH_DISCOVERED||ACTION_TAG_DISCOVERED打开一个新线程(因为无法在UI线程上读取和连接),我正在尝试读取卡片的内容。
我正在尝试以编程方式注册接收器,以便在检测到NFC标签后收到通知。如我的代码所示,我注册了所需的操作,并以编程方式创建了广播接收器。我还在list文件中添加了所需的权限,但问题是永远不会调用onReceive。请让我知道我做错了什么以及如何解决。IntentFilterintentFilter1=newIntentFilter();intentFilter1.addAction("android.nfc.action.TAG_DISCOVERED");registerReceiver(mBCR_TAG_DISCOVERED,intentFilter1);privateBroadcast
我有一个设计个性化标签的应用程序,当它被Android手机检测到时,会启动另一个包含一些内容的应用程序。一切正常,我知道如何制作只读的nfc标签。问题是,我想让NFC标签只能被其他应用程序的用户读取。但我也想,如有必要,修改这些标签以便被重写。但我想防止用户自己做。这就是为什么ndef.makeReadOnly()不适合我..有谁能帮帮我吗??? 最佳答案 这在某种程度上取决于您将使用的确切标签。Android支持的用于存储NDEF消息的标准NFC论坛标签类型没有为此定义特定功能。所以AndroidAPI也不提供。只有makeRea
我正忙于使用一个应用程序模拟Nexus7上带有CM10.1到ACR122U102读写器的正常APDU通信。我发现这个博客关于softwarecardemulation并编写了一个应用程序,使我的设备(nexus)显示为一张卡片。现在我正尝试在此设备和ACR122u之间来回发送消息。到目前为止,我只能通过发送D44001(InDataExchange第127页)APDU与nexus7进行通信。对于我正在编写的应用程序,这应该足够了。问题在于我从设备发送给阅读器的答案。使用transcieve函数(带反射的android.nfc.tech.IsoPcdA),我可以用长度>0的字节数组进行回
我想启动一个使用NFC标签的应用程序。如StartAndroidapplicationfromNFC-tagwithextradata中所述,我使用android应用程序记录(AAR)使该部分工作。或使用NDEF_DISCOVERED/TECH_DISCOVEREDIntent过滤器。但是,如何在通过NFC事件启动Activity时将数据从NFC标签(例如一些文本)传递到Activity?我已通读NFCBasics,但据我所知,它似乎想要实现一种读取标签的机制,当我真的不想在标签打开应用程序后重新读取标签,而是我只想传递数据同时。此外,这些机制似乎允许应用程序在标签启动后读取标签。换句
显然,如果您有root手机,您可以使用com.android.nfc_extras来访问卡模拟(SecureelementAccessControlonICS4.0.4)等功能。我知道这是一个非官方的API,但是否有任何文档(官方或非官方的)?或者,另一方面,卡片模拟是否比我意识到的要复杂得多? 最佳答案 请记住,访问安全元件和进行卡模拟实际上是两件不同的事情。安全元件本质上是封闭的;你不能修改它。使用com.android.nfc_extras,您可以通过安全元件打开或关闭卡模拟。就是这样。您可以将APDU从您的应用程序发送到安全
简而言之:在HuaweiWatch2上,NFC似乎可用并已启用,但NFC_FEAUTURE不可用,因此nfc无法正常工作。尝试在HuaweiWatch2上开发简单读取和显示NFC标签的能力会带来一些困难:mNfcAdapter.enableForegroundDispatch(this,nfcPendingIntent,nfcIntentFilter,null);引发错误java.lang.UnsupportedOperationException这意味着FEATURE_NFC不可用。在MainActivityonCreate()中:mNfcAdapter=NfcAdapter.get
我想知道NFC服务何时启动和停止。android4.0.3的源代码似乎声明轮询依赖于单个常量(位于NfcService.java中)/**minimumscreenstatethatenablesNFCpolling(discovery)*/staticfinalintPOLLING_MODE=SCREEN_STATE_ON_UNLOCKED;我会将其解释为“屏幕灯亮起,因此nfc服务处于Activity状态”。但是当屏幕被锁定时,NFC标签不会被识别,尽管屏幕是亮着的。所以我很好奇:出现锁屏时NFC服务是否已经停用,还是仍在运行但不处理标签? 最佳答案
我正在尝试将一个简单的“HelloWorld”字符串写入Mifare1K标签上扇区0的第一个block。该标签是全新的,具有默认配置。读取时,扇区尾部(block3)为:0000000000000000ff078069ffffffffffffffff。因此,访问条件是ff078069,这意味着我可以使用keyA在每个block上读写。仍然,我无法在标签上写任何东西。这是我的代码:try{mfc.connect();booleanauth=false;auth=mfc.authenticateSectorWithKeyA(0,MifareClassic.KEY_DEFAULT);if(a
我希望能够通过NFC发送一个URL,以便它可以在Android手机上被接收手机的浏览器打开。这是可能的操作吗? 最佳答案 在挠头几个小时并浏览了无数帖子之后。我发现我需要做的就是实现NdefCallbacks并在“createNdefMessage”方法中设置uri。首先实现NdefCallbackspublicclassMyActivityimplementsCreateNdefMessageCallback,OnNdefPushCompleteCallback{添加未实现的方法@OverridepublicNdefMessage