我正在尝试访问当前的单元位置信息。当我
尝试调用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
此外,检查电话设置中是否存在基带类型信息。