Это может быть устаревшим, но знаете ли вы, что это за ошибка?
Я получаю сообщение об ошибке "Ошибка при получении информации о местоположении ячейки".
Я нашелисходный код, приводящий к этой ошибке.
private void requestRefLocation(int flags)
{
TelephonyManager phone = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
if (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM)
{
GsmCellLocation gsm_cell = (GsmCellLocation) phone.getCellLocation();
if ((gsm_cell != null)
&& (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM)
&& (phone.getNetworkOperator() != null)
&& (phone.getNetworkOperator().length() > 3))
{
int type;
int mcc = Integer.parseInt(phone.getNetworkOperator().substring(0, 3));
int mnc = Integer.parseInt(phone.getNetworkOperator().substring(3));
int networkType = phone.getNetworkType();
if (networkType == TelephonyManager.NETWORK_TYPE_UMTS
|| networkType == TelephonyManager.NETWORK_TYPE_HSDPA
|| networkType == TelephonyManager.NETWORK_TYPE_HSUPA
|| networkType == TelephonyManager.NETWORK_TYPE_HSPA)
{
type = AGPS_REF_LOCATION_TYPE_UMTS_CELLID;
}
else
{
type = AGPS_REF_LOCATION_TYPE_GSM_CELLID;
}
native_agps_set_ref_location_cellid(type, mcc, mnc, gsm_cell.getLac(), gsm_cell.getCid());
}
else
{
Log.e(TAG, "Error getting cell location info.");
}
} else {
Log.e(TAG, "CDMA not supported.");
}
}
Обратите внимание на оператор проверки
if ((gsm_cell != null)
&& (phone.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM)
&& (phone.getNetworkOperator() != null)
&& (phone.getNetworkOperator().length() > 3))
{
Это как-то приводит к проблеме, с которой вы столкнулись.Конечно, подключившись к сети WIFI, вы все равно получите свое местоположение, так как оно использует другой способ его получения.Я надеюсь, что это ответит на ваш вопрос.