Различают международный роуминг и роуминг со страной.

У нас есть какой-нибудь флаг или значение на телефоне, которое может помочь решить это?

2 ответа

Решение

Я думаю, что это невозможно, вы можете просто различать, используете ли вы роуминг или нет, но, по крайней мере, официально я не могу найти никакой информации об этом.

---- РЕДАКТИРОВАТЬ ----

Поскольку, вероятно, для этого нет встроенного метода int, вы можете просто определить и сохранить внутренний список национальных телефонных компаний и посмотреть, соответствует ли оператор SIM одной из них, и в этом случае у вас будет национальный роуминг, международный роуминг, если текущий оператор не совпадает с SIM-картой и отсутствует в вашем списке, или отсутствие роуминга, если текущий оператор совпадает с оператором SIM-карты. Негативным моментом является то, что вам нужно отслеживать все национальные операторы и добавлять их в список, если есть какие-то новые, но это происходит не слишком часто (или, по крайней мере, здесь).

Так что в основном это будет что-то вроде этого:

TelephonyManager telephMan = ((TelephonyManager) Context.getSystemService(Context.TELEPHONY_SERVICE));

// This will be the current registered operator
String currentOperatorName = telephMan.getNetworkOperatorName();
// This will return the SIM operator
String simOperatorName = telephonyManager.getSimOperatorName();
// Additionally you'll have to keep a list of national operators
ArrayList<String> myCountryOperators = new ArrayList<String();
myCountryOperators.add("...");
myCountryOperators.add("...");
...

if (currentOperatorName.equals(simOperatorName)) {
  // No roaming
}
else if (myCountryOperators.contains(currentOperatorName)) {
  // National roaming
}
else {
  // International roaming
}

Если это телефон GSM, на мой взгляд, проще сравнить код страны, установленный на SIM-карте, с кодом страны оператора сотовой связи с помощью TelephonyManager.getNetworkCountryIso() и TelephonyManager.getSimCountryIso(). Если они совпадают, вы находитесь в той же стране, иначе нет. И вам не нужно вести список имен...

Другие вопросы по тегам