intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)返回null

时间:2016-10-10 13:38:53

标签: android android-intent

我有一个Activity1。我想在Activity1的类中调用resolveIntent方法。 当我点击activity1中的一个按钮时,执行以下代码:

        Intent IntObj=new Intent();
         IntObj.setAction(NfcAdapter.ACTION_TECH_DISCOVERED);                                                                                                                                                          IntObjputExtra(NfcAdapter.EXTRA_TAG,getIntent().getParcelableExtra
        (NfcAdapter.EXTRA_TAG));
            appletcommunication appletclass=new appletcommunication(IntObj);
         if(!appletclass.ReadyConnection)
               return;//nfc communication not erady
在课堂上

有这段代码

   public class appletcommunication {

private static final String TAG = null;
//private NfcAdapter mAdapter = null;
static IsoDep myTag;
static  byte AppletCLA=(byte)0x00;
public  static boolean ReadyConnection;


public appletcommunication(Intent intent) {
    resolveIntent( intent);
}


    public  Boolean resolveIntent(Intent intent)
{
 Boolean bresult=true;


     String action = intent.getAction();

      if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action) || NfcAdapter.ACTION_TECH_DISCOVERED.equals(action) || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action))
      {
        Parcelable tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        final Tag t = (Tag) tag;
        myTag = IsoDep.get(t);

        if (myTag != null) 
        {
           if (!myTag.isConnected()) 
           {
               try {
                   myTag.connect();
                   myTag.setTimeout(5000);
                    } 
               catch (IOException e)
                  {
                   e.printStackTrace();
                   bresult=false;
                  }
          }
          if (myTag.isConnected()) 
          {
               String szATR = null;
               try {

                    szATR = "kkk";
                   } 
               catch (Exception e)
                  {

                   szATR = "CARD DETECTED  ";
                   bresult=false;
                  }
           }

     }
    else
      bresult=false;

      }
    else
         bresult=false;

      return bresult;

}

1 - 但此行标记为null。        Parcelable tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

先谢谢

1 个答案:

答案 0 :(得分:-1)

Please get all methods help about getParcelableExtra from below mentioned URL

http://www.codota.com/android/methods/android.content.Intent/getParcelableExtra