使用NFC标签时获取NullPointerException

时间:2018-11-06 11:09:05

标签: android android-fragments nfc

我正在使用NFC读卡器创建一个android应用。在Fragment中使用NFC标签时遇到问题,它给出了 Nullpointer异常

    AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.root.officeapp, PID: 10347
    java.lang.NullPointerException: Attempt to invoke virtual method 
    'boolean android.nfc.Tag.hasTech(int)' on a null object reference

我在片段中使用以下代码

 @Override
    protected void onNewIntent(Intent intent){
          Tag  tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
       } 

现在我该怎么办,任何建议对我都会很有帮助。

1 个答案:

答案 0 :(得分:0)

我以前使用过NFC。我创建了一个透明的活动并将其设置为默认值。

<activity ....>
    <intent-filter>
         <action android:name="android.nfc.action.NDEF_DISCOVERED" />
         <category android:name="android.intent.category.DEFAULT" />
         <data android:mimeType="text/plain" />
     </intent-filter>

     <meta-data
         android:name="android.nfc.action.TECH_DISCOVERED"
         android:resource="@xml/nfc_tech_filter" />
</activity>

当我阅读NFC卡时,此活动被触发。我读了卡上的内容,并将数据从此活动传递到另一个活动。另外,我在读卡过程中会显示一个进度对话框并对其进行处理。

this site

中有一个示例代码

还必须确保nfc卡不是空的。