NeighboringCellInfo,CID和LAC的空问题

有一段时间,我试图获取附近基站的CellID和LAC。不幸的是,我没有做到这一点。第一种选择是使用:

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();

但是在这种情况下,我收到-1值(据我了解,这意味着它不是GSM,但是当我使用isGSM进行检查时,它显示为“

true”)。我发现网上冲浪的另一种方式(我对其进行了一些更新)

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());

}

}

}

但是在这种情况下,我按下执行按钮后应用程序立即崩溃。Eclipse没有显示任何错误。可能有人对如何解决我的问题有任何想法?

Logcat说:10-05 22:53:27.923:错误/

dalvikvm(231):无法打开堆栈跟踪文件’/data/anr/traces.txt’:权限被拒绝

使用的权限:

<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" />

可能的问题是我忘了包括:

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

更新。我从上方开始插入行,崩溃消失了,但是现在按下按钮后什么也没有发生。更新了源代码。

回答:

您是否已验证清单文件中设置的权限是否正确?

TelephonyManager根据您使用的API

,需要一些权限。READ_PHONE_STATE除了getNeighboringCellInfo提及的文档外,您还需要大多数API

ACCESS_COARSE_UPDATES,但是我认为这可能是文档错误,您实际上需要将ACCESS_COARSE_LOCATION其记录为“允许应用程序访问粗略(例如,Cell-

ID,WiFi)位置”

以上是 NeighboringCellInfo,CID和LAC的空问题 的全部内容, 来源链接: utcz.com/qa/408594.html

回到顶部