android如何监听NFC开关时间回调
时间: 2023-08-15 12:03:17 浏览: 312
要监听 Android 设备上的 NFC 开关状态变化事件,你可以使用以下步骤:
1. 创建一个 BroadcastReceiver 子类,并重写 onReceive() 方法。
2. 在 AndroidManifest.xml 中注册 BroadcastReceiver,指定接收 ACTION_NFC_ADAPTER_STATE_CHANGED 广播。
3. 在 onReceive() 方法中,检查当前 NFC 状态是开启还是关闭。
下面是一个简单的示例代码,演示如何监听 NFC 开关状态变化事件:
```java
public class NFCStateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(NfcAdapter.ACTION_ADAPTER_STATE_CHANGED)) {
int state = intent.getIntExtra(NfcAdapter.EXTRA_ADAPTER_STATE, NfcAdapter.STATE_OFF);
switch (state) {
case NfcAdapter.STATE_OFF:
// NFC 已关闭
break;
case NfcAdapter.STATE_ON:
// NFC 已开启
break;
case NfcAdapter.STATE_TURNING_OFF:
// NFC 正在关闭
break;
case NfcAdapter.STATE_TURNING_ON:
// NFC 正在开启
break;
}
}
}
}
```
在 AndroidManifest.xml 文件中,添加以下代码:
```xml
<receiver
android:name=".NFCStateReceiver"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
</intent-filter>
</receiver>
```
这样,当 NFC 开关状态变化时,NFCStateReceiver 就会接收到广播,并执行相应的操作。
阅读全文