Android NFC

668 阅读1分钟

效果图

image.png

依赖

implementation 'com.github.zxyUncle:zxyNFC:1.0.8'

使用方式

  1. 在AndroidManifest.xml中对Activity添加过滤器及启动模式
<activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
<intent-filter>
    <action android:name="android.nfc.action.TAG_DISCOVERED" />

    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
  1. 在Activity中使用
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setNFCIntent(getIntent());
}

/**
 * 设置NFC
 * @param intent
 */
private void setNFCIntent(Intent intent) {
    NFCFactory.getInstance().setIntent(intent, this, nfcMessageBean -> {
        Log.e("zxy", nfcMessageBean.toString());
    });
}

@Override
protected void onPause() {
    super.onPause();
    NFCFactory.getInstance().onPause();
}

@Override
protected void onResume() {
    super.onResume();
    NFCFactory.getInstance().onResume();
}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setNFCIntent(intent);
}