android 如何在react-native应用中检查esim资格?

bjg7j2ky  于 2023-05-12  发布在  Android
关注(0)|答案(4)|浏览(165)

我需要做一个react-native应用程序来检查设备是否适合esim。
我获取此信息https://source.android.com/devices/tech/connect/esim-overview以设置esim,但无法弄清楚如何在真实的代码中实现它。我正在尝试使用EuiccManager来检查它是否支持esim?
拜托你能帮帮我吗
我试图引用这个类EuiccManager,但没有找到如何在react native中使用它。

hk8txs48

hk8txs481#

你应该做一个请愿书的Android API与本机模块。你不能使用JavaScript。

fae0ux8s

fae0ux8s2#

我最近遇到了这个问题。我所做的是,我已经添加了react-native-deviceinfo库。
因此,我从它查询设备名称,并检查设备名称是否在下面的列表中

DeviceInfo.getDeviceName().then(deviceName => {});
  1. iPhone XR
  2. iPhone Xs / Xs Max
  3. iPhone 11/ 11 Pro / 11 Pro Max
  4. Google Pixel 3/ 3 XL / 3a XL / 4
    正如我们所知,这些是目前支持eSims的设备。

这是一个临时解决方案,一旦启动新的eSim设备,将需要管理列表。

zbdgwd5y

zbdgwd5y3#

目前没有React Native库。因此,您需要构建一个Native module,将所有来自JS land的调用转发到EuiccManager。这并不难,但需要一些Android Studio/Java工作,解释起来有点长,并且可能会随着时间的推移而变化,因此检查官方文档是您最好的选择。至少在有人创建一个第三方库来为您做这项工作之前是这样。

igetnqfo

igetnqfo4#

我使用这个包来查看esim是否可用:https://github.com/odemolliens/react-native-sim-cards-manager
它们有一个功能来检查esim是否可用:

import SimCardsManagerModule from 'react-native-sim-cards-manager';

SimCardsManagerModule.isEsimSupported()
  .then((isSupported: boolean) => {
    //
})
.catch((error) => {
  //
});

相关问题