首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有蓝牙的Android设备名称

没有蓝牙的Android设备名称
EN

Stack Overflow用户
提问于 2016-04-04 08:25:23
回答 1查看 560关注 0票数 0

我希望获得android设备名称(即用户可以通过设置更改的“名称”,您可以在"Settings > About device > device name“下找到该名称)。

其他开发人员建议通过蓝牙获取这个名称。

但是在我的设备(三星Galaxy S4)上,只有当我启用蓝牙时才会更新这个名称,所以如果我在禁用蓝牙时更改了名称:在启用蓝牙之前不会显示新的名称。

我想知道是否有一种方法可以在不启用蓝牙的情况下获得更新的设备名称?我可以想出一个解决办法,比如:

  • 启用蓝牙
  • 得名
  • 禁用蓝牙

但我想知道是否有一个更优雅的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-04 09:06:01

您正在讨论的设备名称也称为蓝牙友好名称,因此通过蓝牙API读取它是完全有效的。

请注意,如果您的应用程序运行在非蓝牙设备上:这个名称不存在

如果仔细阅读蓝牙API的医生,您将看到setName(...)方法:

..。如果蓝牙状态不是STATE_ON,则此API将返回false。打开蓝牙后,等待ACTION_STATE_CHANGED和STATE_ON获得更新的值。

换句话说:这种行为并不是您的设备特有的,但是它可以按照指定的方式工作。

您的解决方法是AFAIK,在禁用蓝牙时更改名称时获得更新名称的唯一方法(不幸的是,它有严重的缺点:启用/禁用BT成本高昂)。

还请注意,您必须等待ACTION_STATE_CHANGED和STATE_ON来获得更新的值。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36397730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档