1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
public class DroidReader extends Activity implements IMother {
private NfcAdapter mNfcAdapter;
private boolean isCardPresent = false;
@Override
public boolean isCardPresent()throws ReaderException {
return isCardPresent;
}
@Override
public APDUResp APDUExchange(APDUReq req) throws ReaderException {
//how to put and get APDU msg to the intent??
//return null;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//initialize your service here
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (mNfcAdapter == null) {
// Stop here, we definitely need NFC
Toast.makeText(this, "This device doesn't support NFC.", Toast.LENGTH_LONG).show();
// finish();
return;
}
if (!mNfcAdapter.isEnabled()) {
// mTextView.setText("NFC is disabled.");
} else {
// mTextView.setText(R.string.explanation);
}
resolveIntent(getIntent());
}
private void resolveIntent(Intent intent) {
String action = intent.getAction();
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
// status_Data.setText("Discovered tag with intent: " + intent);
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
IsoDep myTag = IsoDep.get(tagFromIntent);
try {
myTag.connect();
if (myTag.isConnected()) {
isCardPresent = true;
APDUResp respToSendToAPDUExchange = myTag.transceive(reqFromAPDUExchange);
**// How to root APDU for my APDUExchange method?**
}
} catch (IOException e) {
// Log.e(TAG, e.getLocalizedMessage());
// showAlert(NETWORK);
}
}
} |
Partager