如何使用Nativescript获取sim网络的信号强度?

如何使用Nativescript获取sim网络的信号强度?,nativescript,Nativescript,我试着使用上面的代码和插件,但不起作用 任何人都可以帮助我的代码或提供更好的解决方案 要获得当前手机的信号强度,您可以使用安卓和iOS上的本机API,并根据输入的信号将代码转换为JavaScript 举个例子,我们来看看这个。下面是它在NativeScript中的外观 import * as application from 'application'; const TnsOneSignal = require('nativescript-onesignal').TnsOneSignal if

我试着使用上面的代码和插件,但不起作用


任何人都可以帮助我的代码或提供更好的解决方案

要获得当前手机的信号强度,您可以使用安卓和iOS上的本机API,并根据输入的信号将代码转换为JavaScript

举个例子,我们来看看这个。下面是它在NativeScript中的外观

import * as application from 'application';
const TnsOneSignal = require('nativescript-onesignal').TnsOneSignal

if (application.android) {
        application.on(application.launchEvent, function(args: application.ApplicationEventData) {
            try {
                console.log('TnsOneSignal', TnsOneSignal)
                TnsOneSignal.startInit(application.android.context).init()
            } catch (error) {
                console.log('error', error)
            }
        })
    }
当然,在安卓系统中,要想获得这些信息,您需要获得
访问\u rough\u LOCATION
的明确权限,以便您可以使用该权限授予他们


演示上述技术。基于同样的原理,您可以找到一个iOS示例,并使用从Objective-C到JS的封送处理将代码转换为JS。

插件
nativescript onesignal
与SIM网络强度的关系如何?据我所知,这个插件提供了推送通知功能。是的,你是对的,因为我是nativescript的新手,所以我不了解这一点,但现在我知道了,所以请帮助我获得sim网络强度,如果你可以的话!!谢谢你,尼克。我还想问一下,这个解决方案是否需要任何插件,因为在第一行应用程序中会出现错误:应用程序未知???
应用程序
实际上是应用程序模块。请注意,上面的代码只在真实设备上工作,而不会在模拟器上工作(没有SIM卡和电话服务)。非常感谢您的帮助,Nick。
let telephonyManager = application.android.context.getSystemService(android.content.Context.TELEPHONY_SERVICE);
let cellinfogsm = telephonyManager.getAllCellInfo().get(0);
let cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();