diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3df16d522..bd342ecc6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -104,6 +104,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/ceui/lisa/activities/NfcDemoActivity.java b/app/src/main/java/ceui/lisa/activities/NfcDemoActivity.java
new file mode 100644
index 000000000..f03da06d7
--- /dev/null
+++ b/app/src/main/java/ceui/lisa/activities/NfcDemoActivity.java
@@ -0,0 +1,69 @@
+package ceui.lisa.activities;
+
+import android.app.PendingIntent;
+import android.content.Intent;
+import android.nfc.NfcAdapter;
+import android.nfc.Tag;
+
+import ceui.lisa.R;
+import ceui.lisa.base.BaseActivity;
+import ceui.lisa.databinding.ActivityNfcBinding;
+import ceui.lisa.utils.Common;
+
+public class NfcDemoActivity extends BaseActivity {
+
+ private NfcAdapter mNfcAdapter;
+ private PendingIntent pi;
+
+ @Override
+ protected int initLayout() {
+ return R.layout.activity_nfc;
+ }
+
+ @Override
+ protected void initView() {
+ mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
+
+ pi = PendingIntent.getActivity(this, 0, new Intent(this, getClass())
+ .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
+ processIntent(getIntent());
+ }
+
+ @Override
+ protected void initData() {
+
+ }
+
+ @Override
+ protected void onNewIntent(Intent intent) {
+ super.onNewIntent(intent);
+ if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
+ processIntent(intent);
+ }
+ }
+
+ private void processIntent(Intent intent) {
+ //取出封装在intent中的TAG
+ Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
+ String CardId =ByteArrayToHexString(tagFromIntent.getId());
+ Common.showLog("CardId " + tagFromIntent.toString());
+ Common.showLog("intent " + intent.toString());
+ }
+
+ private String ByteArrayToHexString(byte[] inarray) {
+ int i, j, in;
+ String[] hex = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A",
+ "B", "C", "D", "E", "F" };
+ String out = "";
+
+
+ for (j = 0; j < inarray.length; ++j) {
+ in = (int) inarray[j] & 0xff;
+ i = (in >> 4) & 0x0f;
+ out += hex[i];
+ i = in & 0x0f;
+ out += hex[i];
+ }
+ return out;
+ }
+}
diff --git a/app/src/main/res/layout/activity_nfc.xml b/app/src/main/res/layout/activity_nfc.xml
new file mode 100644
index 000000000..9f7553bb2
--- /dev/null
+++ b/app/src/main/res/layout/activity_nfc.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/nfc_tech_filter.xml b/app/src/main/res/xml/nfc_tech_filter.xml
new file mode 100644
index 000000000..496a0c575
--- /dev/null
+++ b/app/src/main/res/xml/nfc_tech_filter.xml
@@ -0,0 +1,30 @@
+
+
+
+ android.nfc.tech.IsoDep
+
+
+ android.nfc.tech.NfcA
+
+
+ android.nfc.tech.NfcB
+
+
+ android.nfc.tech.NfcF
+
+
+ android.nfc.tech.NfcV
+
+
+ android.nfc.tech.Ndef
+
+
+ android.nfc.tech.NdefFormatable
+
+
+ android.nfc.tech.MifareClassic
+
+
+ android.nfc.tech.MifareUltralight
+
+
\ No newline at end of file