我正在尝试访问当前的单元位置信息。当我
尝试调用getCellLocation(),它将返回null

我无法推断出这一点..相同的代码适用于1.5,但失败
在1.6或2.1。 (在带有1.6和HTC图例2.1的G1上进行了测试。)

有人可以帮助我纠正此错误吗?我的代码如下。

TelephonyManager tMgr = (TelephonyManager)
getSystemService(TELEPHONY_SERVICE);
outputView = (TextView) findViewById(R.id.output);

outputView.append("Device type:" + tMgr.getPhoneType() + "\n");

GsmCellLocation gsmCellLocation = (GsmCellLocation) tMgr.getCellLocation();
if (gsmCellLocation != null) {
    String mCellId = "" + gsmCellLocation.getCid();
    String mLAC = "" + gsmCellLocation.getLac();
    Log.d("SDKService", "Cell Id: " + mCellId + " LAC: " + mLAC);
    outputView.append("Cell Id: " + mCellId + " LAC: " + mLAC + "\n");
}


另外,我添加了以下权限:


ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
CONTROL_LOCATION_UPDATES


我是否需要添加其他权限?

请让我知道我哪里出了问题。

最佳答案

如果当前位置不可用,则getCellLocation()返回null。

http://developer.android.com/reference/android/telephony/TelephonyManager.html#getCellLocation%28%29

此外,检查电话设置中是否存在基带类型信息。

08-17 01:06