Получить имя оператора сети в Appcelerator Titanium

Я ищу, чтобы получить имя оператора для Android-устройства пользователя.

Например. «Verizon» или «Vodafone», я думаю, что нашел задокументированный здесь эквивалент Android под названием getSimOperatorName() из http://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkOperatorName()

Я просматриваю документацию по Appcelerator Titanium, но не могу найти способ сделать это в документации (http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Network).

Возможно ли это в Appcelerator Titanium?


person Simon    schedule 29.02.2016    source источник
comment
@fokke-appcelerator Есть ли способ сделать это в iOS? Для Android я вижу, что решение обсуждается в принятом ответе, но я не смог найти решение для iOS. Спасибо.   -  person Muhammad Qasim    schedule 16.05.2016
comment
Мы не раскрываем его в ядре, и я не знаю модуля, но для этого потребуется использовать TCCarrier. Был бы хороший запрос на функцию, чтобы иметь это в ядре как для iOS, так и для Android.   -  person Fokke Zandbergen    schedule 23.05.2016


Ответы (3)


Вы можете использовать модуль tinetworkinfo.

Ex:-

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;
}
person abada henno    schedule 29.02.2016
comment
Спасибо за ваш ответ, у вас это работало раньше? Я попытался установить модуль и запустить свое приложение, и я получаю сообщение об ошибке: не найдена реализация для void com.clever_apps.tinetworkinfo.TinetworkinfoBootstrap.nativeBootstrap() (пробовал Java_com_clever_1apps_tinetworkinfo_TinetworkinfoBootstrap_nativeBootstrap и Java_com_clever_1apps_tinetworkinfo_TinetworkinfoBootstrap_nativeBootstrap__, установленный IgittitworkinfoBootstrap_nativeBootstrap__). .clever_apps.tinetworkinfo - person Simon; 12.03.2016
comment
Вы нашли какой-нибудь новый модуль еще? - person Khodour.F; 08.06.2017

В настоящее время нет API, который вернет вам эту информацию. Для этого вам нужно создать свой собственный модуль Android.

person Soumya    schedule 29.02.2016

Мне не удалось заставить работать модуль tinetworkinfo. Однако модуль с именем TelephonyManager работал нормально.

Я запустил это в терминале для проекта:

Gittio установить com.goyya.telephonymanager

Затем этот код для получения имени оператора сети:

var telephonymanager = require("com.goyya.telephonymanager");
Ti.API.log('networkOperatorName:   ' + telephonymanager.networkOperatorName);
person Simon    schedule 27.03.2016
comment
как насчет iOS? Вы когда-нибудь узнавали? - person Muhammad Qasim; 16.05.2016
comment
он слишком старый, я не могу найти новый модуль! - person Khodour.F; 08.06.2017