【问题标题】:Get network operator name in Appcelerator Titanium在 Appcelerator Titanium 中获取网络运营商名称
【发布时间】:2016-02-29 19:37:28
【问题描述】:

我希望获取用户 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 中是否可行?

【问题讨论】:

  • @fokke-appcelerator 在 iOS 中有没有办法做到这一点?对于 android,我看到在接受的答案中讨论了该解决方案,但我无法找到适用于 iOS 的任何解决方案。谢谢。
  • 我们不会在核心中公开它,我不知道模块,但它需要使用TCCarrier。将其作为 iOS 和 Android 的核心是一个很好的功能请求。

标签: appcelerator appcelerator-titanium


【解决方案1】:

你可以使用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;
}

【讨论】:

  • 感谢您的回复,您之前有这个工作吗?我已尝试安装模块并运行我的应用程序,但收到一条错误消息,指出“艺术:未找到 void com.clever_apps.tinetworkinfo.TinetworkinfoBootstrap.nativeBootstrap() 的实现(尝试了 Java_com_clever_1apps_tinetworkinfo_TinetworkinfoBootstrap_nativeBootstrap 和 Java_com_clever_1apps_tinetworkinfo_TinetworkinfoBootstrap_nativeBootstrap__)”,我使用命令“安装了它” gittio install com.clever_apps.tinetworkinfo"
  • 你找到任何新模块了吗?
【解决方案2】:

目前没有任何 API 可以返回该信息。为此,您需要创建自己的 Android 模块。

【讨论】:

    【解决方案3】:

    我无法让 tinetworkinfo 模块工作。但是,名为 TelephonyManager 的模块运行良好。

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

    gittio 安装 com.goyya.telephonymanager

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

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

    【讨论】:

    • iOS 呢?你发现了吗?
    • 它太旧了,我找不到新模块!
    猜你喜欢
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    相关资源
    最近更新 更多