gpt4 book ai didi

android - 在 Ionic 3 上检索蓝牙 MAC 地址返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:22 24 4
gpt4 key购买 nike

我目前正在开发一个 Ionic 3 应用程序,我需要在 Android 设备上获取手机的蓝牙 MAC 地址(或可以在蓝牙网络中识别设备的地址),并且我一直在尝试获取 MAC 地址(或UUID 等)使用 Ionic 的 Uid native 插件,以及 AndroidPermissions 的 native 插件。我目前正在使用插件主页上建议的方法 https://ionicframework.com/docs/native/uid/

这是获取设备MAC地址的代码:

async getMAC() {
const { hasPermission } = await this.androidPermissions.checkPermission(
this.androidPermissions.PERMISSION.READ_PHONE_STATE
);

if (!hasPermission) {
const result = await this.androidPermissions.requestPermission(
this.androidPermissions.PERMISSION.READ_PHONE_STATE
);

if (!result.hasPermission) {
throw new Error('Permissions required');
}

return;
}

return this.uidNative.MAC;
}

我还在我的 AndroidManifest.xml 中添加了 READ_PHONE_STATE 权限,并为 Ionic 设置了相应的提供程序。我的手机正常请求权限。

我的问题

请求权限后,上述 Promise 成功解决,但返回 null,我无法弄清楚为什么会发生这种情况

  1. 有什么解决方法吗?有人遇到过类似的问题吗?
  2. 是否有其他方法获取 Android 设备的 MAC 地址并将其传递给 Ionic 应用程序?

提前致谢

最佳答案

解决方案:

编写一个 cordova 插件以使用电话设置获取 MAC 地址

String mac = android.provider.Settings.Secure.getString(context.getContentResolver(), "bluetooth_address")

然后通过 Ionic 3 调用此调用。

一个快速的方法:改变 https://ionicframework.com/docs/native/device/ ionic native 插件。

仅供引用,我看一下我们和我的一个 friend 一起做的这个改变过的 Device.java 要点:https://gist.github.com/giannisdaras/04126edcae32d597cf54e7b2cae680ac

关于android - 在 Ionic 3 上检索蓝牙 MAC 地址返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48786032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com