在 Appcelerator Titanium 中获取网络运营商名称

Get network operator name in Appcelerator Titanium

我想获取用户 Android 设备的运营商名称。

例如"Verizon" 或 "Vodafone",我想我已经从 http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName()

中找到了此处记录的 Android 等效项,称为 getSimOperatorName()

我正在浏览 Appcelerator Titanium 的文档,但似乎无法在文档中找到执行此操作的方法 (http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Network)。

这在 Appcelerator Titanium 中可行吗?

目前没有 API 可以 return 你的信息。为此,您需要创建自己的 Android 模块。

您可以使用 tinetworkinfo 模块

例如:-

var netInfo = require('com.clever_apps.tinetworkinfo');

var win = Ti.UI.createWindow({exitOnClose: true});

var testLabel = Ti.UI.createLabel({
    height:"80%",
    width:"90%",
    top:0
});

var refreshButton = Ti.UI.createButton({
    title:"Refresh Data",
    height:"15%",
    bottom:"5%"
});
refreshButton.addEventListener("click", getTelephonyData);

win.add(testLabel);
win.add(refreshButton);
getTelephonyData();
win.open();


function getTelephonyData(){
    var imei = netInfo.getIMEI();
    var cellid = netInfo.getCellID();
    var lac = netInfo.getLac();
    var mnc = netInfo.getMNC();
    var mmc = netInfo.getMMC();


    var outString = "IMEI: "+imei+"\nCell ID: "+cellid+"\nLAC: "+lac+"\nMNC: "+mnc+"\nMMC: "+mmc;
    testLabel.text = outString;
}

我无法让 tinetworkinfo 模块工作。但是,名为 TelephonyManager 的模块工作正常。

我在项目的终端中运行这个:

gittio 安装com.goyya.telephonymanager

然后此代码获取网络运营商名称:

var telephonymanager = require("com.goyya.telephonymanager");
Ti.API.log('networkOperatorName:   ' + telephonymanager.networkOperatorName);