如何从Android读取和写入NfcA卡

sus*_*ena 5 android nfc

我发了一个应用程序,当发送意图android.nfc.action.TAG_DISCOVERED时调用,但后来我想在onNewIntent方法中获取卡的信息,但我不知道如何处理这种nfc卡.我尝试使用以下代码:

    public void onNewIntent(Intent intent) {
        Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        //do something with tagFromIntent
        NfcA nfca = NfcA.get(tagFromIntent);
        try{
            nfca.connect();
            Short s = nfca.getSak();
            byte[] a = nfca.getAtqa();
            String atqa = new String(a, Charset.forName("US-ASCII"));
            tv.setText("SAK = "+s+"\nATQA = "+atqa);
            nfca.close();
        }
        catch(Exception e){
            Log.e(TAG, "Error when reading tag");
            tv.setText("Error");
        }
    }
Run Code Online (Sandbox Code Playgroud)

tv是一个TextView,但是当执行此代码时,它永远不会被更改.

MrC*_*haz 2

如果您的 Activity 已在运行并设置为 singleTask,则调用 OnNewIntent。您需要将代码设为自己的方法,并在 onCreate() 和 onNewIntent() 中调用它