本机 Android 设备 > 使用 ADB 开启 off/on NFC

Native Android Device > turn off/on NFC with ADB

是否可以为 v 6.0.1 或更高版本的非根 Android 设备打开 off/on (disable/enable) NFC 和 ADB? 我尝试了很多东西,但对我不起作用。

我试过的东西是:

通过亚行:

adb shell settings put global airplane_mode_toggleable_radios bluetooth,cell,wimax,nfc
adb shell am broadcast -a android.intent.action.airplane_mode_toggleable_radios

adb shell settings put global airplane_mode_on 1
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE

adb shell settings put global radio_nfc 0
adb shell am broadcast -a android.intent.action.radio_nfc

adb shell settings put global AIRPLANE_MODE_RADIOS 0
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE_RADIOS

adb shell settings put global NfcAdapter 0
adb shell am broadcast -a android.intent.action.NFC_adapter

adb shell settings put global airplane_mode_radios cell,bluetooth,nfc,wimax
adb shell content update --uri content://settings/global --bind value:s:'bluetooth,nfc,wimax' --where "name='airplane_mode_radios'"

还有:

adb shell settings get global airplane_mode_radios 
adb shell content query --uri content://settings/global --projection name:value --where "name='airplane_mode_radios'" 

adb shell settings put global airplane_mode_radios "cell,nfc,wimax"
adb shell content update --uri content://settings/global --bind value:s:'cell,nfc,wimax' --where "name='airplane_mode_radios'"

adb shell settings put global airplane_mode_radios "cell,bluetooth,wifi,nfc,wimax"
adb shell content update --uri content://settings/global --bind value:s:'cell,bluetooth,wifi,nfc,wimax' --where "name='airplane_mode_radios'"

重启设备后,我可以使用 ADB 打开飞行模式,但 nfc 没有关闭。 当我打开本机设备上的飞行模式(快速设置或设置)时,它确实关闭了!

我试过的另一个是:

列出 运行 服务:

adb shell service list 

在那里你可以读到 nfc 是 运行 在数字 9 " nfc: [android.nfc.INfcAdapter] "

尝试使用

禁用
adb shell pm hide com.android.nfc

不起作用并抛出: 错误:java.lang.SecurityException:用户 2000 和当前进程都没有 android.permission.MANAGE_USERS。

或:

adb shell pm grant EXAMPLE.android.services android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant EXAMPLE.android.services android.permission.CHANGE_CONFIGURATION

-

以下在高达 Android 5 倍的设备上工作: Enable/Disable NFC with ADB command

玩完 Enable/Disable NFC with ADB command

关于 android Marshmallow(6.0.0 或 6.0.1)

禁用

service call nfc 5

启用

~~服务调用nfc 6~~

编辑:

这似乎不会永久禁用,重新启动会重新启用该服务

找到真正的答案!

svc nfc <enable|disable>