Android:以编程方式更改 NFC 设置(开/关)
我尝试在 Android 2.3.3 上以编程方式更改 NFC 设置(开/关)。
在手机上的“无线和网络设置”下,
您可以选择是否使用NFC来读取和交换标签。
所以我想在我的应用程序中切换此设置。
但我似乎找不到这方面的 api。
我正在寻找一些可能如下所示的代码:
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled( on/off );
I trying to change NFC settings (on/off) programmatically on Android 2.3.3.
On the phone, under the "Wireless & network settings",
you can choose to set whether you want to use NFC to read and exchange tags or not.
So I would like to toggle this setting in my application.
But I can't seem to find an api for this.
I'm looking for some code that would probably look like this:
WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled( on/off );
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果没有生根设备,则无法以编程方式实现。
但您可以通过 API 级别 16 及更高版本的意图操作
Settings.ACTION_NFC_SETTINGS
启动NFC 设置活动
。对于 API < 16 使用Settings.ACTION_WIRELESS_SETTINGS
之前选择的答案建议使用
WIFI_SETTINGS
但我们可以直接转到NFC_SETTINGS
下面是示例:
It's not possible programatically without rooting device.
But you can start
NFC Settings Activity
by intent actionSettings.ACTION_NFC_SETTINGS
for api level 16 and above. For api < 16 useSettings.ACTION_WIRELESS_SETTINGS
Previous selected answer suggests to use
WIFI_SETTINGS
but we can directly move toNFC_SETTINGS
Here's the example :
您无法手动
打开/关闭
,但如果它关闭
,您可以将用户发送到首选项:方法
getNfc()
仅返回nfcadapter
:You can not turn it
on/off
manually but you can send the user to the preferences if it isoff
:Method
getNfc()
just returns thenfcadapter
:如果您想以编程方式执行此操作,显然这个问题包含答案:
如何我可以通过 API 启用 NFC 阅读器吗?
编辑
它没有给出答案,但它掌握了答案的关键,我在 Q 中回答的代码就是基于它的。
如果有人感兴趣,我也会将其粘贴在这里。
我通过反射得到了它工作
此代码适用于 API 15,尚未与其他版本进行检查但这
需要 2 个权限,请将它们放入清单中:
使用代码时,NFC 按钮的状态会相应切换,因此没有在设置菜单中手动执行此操作时出现问题。
澄清:此代码不适用于普通设备。有很多方法,但至少需要 root 。
if you want to do it programmatically, apperently this Q holds the answer:
How can I enable NFC reader via API?
Edit
it didn't hold the answer, but it held the key to the answer, on which I based my code I answered with in the Q.
I will paste it here as well in case anyone's interested.
I got it working through reflection
This code works on API 15, haven't checked it against other verions yet
This requires 2 permissions though, put them in the manifest:
The NFC button's state switches accordingly when the code is used, so there are no issues when doing it manually in the seetings menu.
To clarify: This code doesn't work on normal devices. There are ways around, but at least it requires root.
您可以控制 NFC 传输等。但目前无法打开和关闭它:(
You can control the NFC transfers and stuff. But for now turning it on and off is not possible :(
请检查下面的 URL,所有内容均按步骤给出。
http://ranjithdroid.blogspot.com/2015/11 /turn-onoff-android-nfc-by.html
Please check this below URL everything is given as step by step.
http://ranjithdroid.blogspot.com/2015/11/turn-onoff-android-nfc-by.html