安卓NFC设置切换监听器

3
我希望你能在设置偏好中监听NFC启用/禁用,因此我在我的活动中添加了以下代码。
    IntentFilter filter = new IntentFilter("android.nfc.action.ADAPTER_STATE_CHANGE");
    BroadcastReceiver receiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            tv.setText("broadcast received :" + NfcAdapter.getDefaultAdapter(MainActivity.this).isEnabled());
            Toast.makeText(MainActivity.this, "broadcast received", Toast.LENGTH_LONG).show();
        }
    };
    registerReceiver(receiver, filter);

但是看起来 ADAPTER_STATE_CHANGE 不起作用。

有人有监听 NFC 状态的想法吗?请帮忙!


不确定为什么,但是"android.nfc.action.ADAPTER_STATE_CHANGE"在AndroidManifest中使用效果很好,而不是在Activity中进行过滤? - AJit
你在Android清单文件中要如何使用它?你使用了特定的类别吗? - George Pligoropoulos
不,它只是作为一个带有广播接收器的操作工作。 - AJit
1个回答

6
这个意图的名称是“android.nfc.action.ADAPTER_STATE_CHANGED”,而不是“android.nfc.action.ADAPTER_STATE_CHANGE”。请注意CHANGED中的D

7
为避免此类错误,请尝试通过NfcAdapter.ACTION_ADAPTER_STATE_CHANGED引用常量名称。 - Duncan Jones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接