Problema nulo com NeighbouringCellInfo, CID e LAC

Por um tempo, eu estava tentando obter o CellID e o LAC de estações base próximas. Infelizmente não consegui fazer isso. A primeira opção foi usar:

GsmCellLocation xXx = new GsmCellLocation();  
    CID = xXx.getCid();  
    LAC = xXx.getLac();  
    Toast output = Toast.makeText(getApplicationContext(), "Base station LAC is "+LAC+"\n" 
      +"Base station CID is " +CID, Toast.LENGTH_SHORT);  
    output.show();

Mas, neste caso, recebo o valor -1 (como eu entendo que significa que não é um GSM, mas quando eu verifico com isGSM, ele mostra "true"). Outra maneira que eu encontrei navegando na net (eu a atualizei um pouco)

public void GetID(){  
 List<NeighboringCellInfo>  neighCell = null; 
 TelephonyManager telManager = ( TelephonyManager )getSystemService(Context.TELEPHONY_SERVICE); 
 neighCell = telManager.getNeighboringCellInfo();  
 for (int i = 0; i < neighCell.size(); i++) {  
 try {  
   NeighboringCellInfo thisCell = neighCell.get(i);  
   int thisNeighCID = thisCell.getCid();  
   int thisNeighRSSI = thisCell.getRssi();  
   log(" "+thisNeighCID+" - "+thisNeighRSSI);  
 } catch (NumberFormatException e) {  
   e.printStackTrace();
   NeighboringCellInfo thisCell = neighCell.get(i);  
   log(neighCell.toString());  
 }  
}  
}

Mas, neste caso, o aplicativo trava logo após pressionar o botão executar. O Eclipse não mostra erros. Pode ser que alguém tenha alguma idéia de como resolver meus problemas?

Logcat diz: 10-05 22: 53: 27.923: ERRO / dalvikvm (231): Não é possível abrir o arquivo de rastreamento de pilha '/data/anr/traces.txt': permissão negada

Permissões usadas:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />

Pode ser que o problema é que esqueci de incluir:

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

Atualizar. Eu incluí a linha de cima, a falha desapareceu, mas agora depois que eu pressiono o botão, nada acontece. Código fonte atualizado.

questionAnswers(3)

yourAnswerToTheQuestion