public static void loadCellInfo(TelephonyManager tm, Device pDevice) {
int lCurrentApiVersion = android.os.Build.VERSION.SDK_INT;
try {
if (pDevice.mCell == null) {
pDevice.mCell = new Cell();
}
List<CellInfo> cellInfoList = tm.getAllCellInfo();
if (cellInfoList != null) {
for (final CellInfo info : cellInfoList) {
//Network Type
pDevice.mCell.setNetType(tm.getNetworkType());
if (info instanceof CellInfoGsm) {
final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength();
final CellIdentityGsm identityGsm = ((CellInfoGsm) info).getCellIdentity();
// Signal Strength
pDevice.mCell.setDBM(gsm.getDbm()); // [dBm]
// Cell Identity
pDevice.mCell.setCID(identityGsm.getCid());
pDevice.mCell.setMCC(identityGsm.getMcc());
pDevice.mCell.setMNC(identityGsm.getMnc());
pDevice.mCell.setLAC(identityGsm.getLac());
} else if (info instanceof CellInfoCdma) {
final CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength();
final CellIdentityCdma identityCdma = ((CellInfoCdma) info).getCellIdentity();
// Signal Strength
pDevice.mCell.setDBM(cdma.getDbm());
// Cell Identity
pDevice.mCell.setCID(identityCdma.getBasestationId());
pDevice.mCell.setMNC(identityCdma.getSystemId());
pDevice.mCell.setLAC(identityCdma.getNetworkId());
pDevice.mCell.setSID(identityCdma.getSystemId());
} else if (info instanceof CellInfoLte) {
final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength();
final CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity();
// Signal Strength
pDevice.mCell.setDBM(lte.getDbm());
pDevice.mCell.setTimingAdvance(lte.getTimingAdvance());
// Cell Identity
pDevice.mCell.setMCC(identityLte.getMcc());
pDevice.mCell.setMNC(identityLte.getMnc());
pDevice.mCell.setCID(identityLte.getCi());
} else if (lCurrentApiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR2 && info instanceof CellInfoWcdma) {
final CellSignalStrengthWcdma wcdma = ((CellInfoWcdma) info).getCellSignalStrength();
final CellIdentityWcdma identityWcdma = ((CellInfoWcdma) info).getCellIdentity();
// Signal Strength
pDevice.mCell.setDBM(wcdma.getDbm());
// Cell Identity
pDevice.mCell.setLAC(identityWcdma.getLac());
pDevice.mCell.setMCC(identityWcdma.getMcc());
pDevice.mCell.setMNC(identityWcdma.getMnc());
pDevice.mCell.setCID(identityWcdma.getCid());
pDevice.mCell.setPSC(identityWcdma.getPsc());
} else {
Log.i(TAG, mTAG + "Unknown type of cell signal!"
+ "\n ClassName: " + info.getClass().getSimpleName()
+ "\n ToString: " + info.toString());
}
if (pDevice.mCell.isValid()) {
break;
}
}
}
} catch (NullPointerException npe) {
Log.e(TAG, mTAG + "loadCellInfo: Unable to obtain cell signal information: ", npe);
}
}
java类android.telephony.CellIdentityLte的实例源码
DeviceApi18.java 文件源码
项目:AIMSICDL
阅读 22
收藏 0
点赞 0
评论 0
CellInfoUtil.java 文件源码
项目:proto-collecte
阅读 22
收藏 0
点赞 0
评论 0
private static CommonCellInfo toCellularInfo(CellInfoLte cellInfo) {
CommonCellInfo res = new CommonCellInfo();
CellIdentityLte identityLte = cellInfo.getCellIdentity();
CellSignalStrength signalStrength = cellInfo.getCellSignalStrength();
res.setType(LTE);
res.setCid(identityLte.getCi());
res.setLac(identityLte.getTac());
res.setMcc(identityLte.getMcc());
res.setMnc(identityLte.getMnc());
res.setDbm(valdiateDbm(signalStrength.getDbm()));
res.setLevel(signalStrength.getLevel());
return res;
}
CellId.java 文件源码
项目:tabulae
阅读 22
收藏 0
点赞 0
评论 0
public static void fill(TheDictionary map, CellIdentityLte value) throws Exception {
if (value != null) {
map.put("type", "4");
int i;
i = value.getMcc();
if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mcc", i);
i = value.getMnc();
if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mnc", i);
i = value.getTac();
if (i != Integer.MAX_VALUE && i > 0) map.put("tac", i);
i = value.getPci();
if (i != Integer.MAX_VALUE && i > 0) map.put("pci", i);
i = value.getCi();
if (i != Integer.MAX_VALUE && i > 0) map.put("cid", i);
}
}
PhoneStateHelper.java 文件源码
项目:SignalAnalysis
阅读 21
收藏 0
点赞 0
评论 0
/**
* Get current cell info
*
* @return cell information format as {@link String}
*/
public String getCellInfo() {
if (DBG)
Log.d(Config.TAG, TAG + "getCellInfo called");
String ret = null;
List<CellInfo> listCellInfo = mTelMgr.getAllCellInfo();
if (listCellInfo != null)
for (CellInfo a_Info : listCellInfo) {
if (CellInfoCdma.class.isInstance(a_Info))
ret = ret + "\n Cell info cdma: " + a_Info.toString();
else if (CellInfoGsm.class.isInstance(a_Info))
ret = ret + "\n Cell info gsm: " + a_Info.toString();
else if (CellInfoLte.class.isInstance(a_Info)) {
ret = ret + "\n Cell info lte: " + a_Info.toString();
CellInfoLte cellInfoLte = (CellInfoLte) a_Info;
CellIdentityLte cellIdentity = cellInfoLte
.getCellIdentity();
Log.d(Config.TAG, TAG + " LTE - " + cellIdentity.getCi()
+ cellIdentity.getTac() + cellIdentity.getPci());
} else if (CellInfoWcdma.class.isInstance(a_Info))
ret = ret + "\n Cell info : wcdma" + a_Info.toString();
}
return ret;
}
CellInformationWrapper.java 文件源码
项目:open-rmbt
阅读 20
收藏 0
点赞 0
评论 0
public CellIdentity(CellIdentityLte cellIdentity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
this.setChannelNumber(cellIdentity.getEarfcn());
}
this.setMnc(cellIdentity.getMnc());
this.setMcc(cellIdentity.getMcc());
this.setLocationId(cellIdentity.getTac());
this.setAreaCode(cellIdentity.getCi());
this.setScramblingCode(cellIdentity.getPci());
}
TelephonyModule.java 文件源码
项目:react-native-telephony
阅读 27
收藏 0
点赞 0
评论 0
@TargetApi(24)
public void getEarfcn(WritableMap mapCellIdentity, CellIdentityLte cellIdentity) {
if (android.os.Build.VERSION.SDK_INT >= 24){
// Do something for nougat and above versions
mapCellIdentity.putInt("earfcn", cellIdentity.getEarfcn());
} else{
// do something for phones running an SDK before lollipop
mapCellIdentity.putInt("earfcn", 0);
}
}
JSONHelper.java 文件源码
项目:localcloud_fe
阅读 25
收藏 0
点赞 0
评论 0
/**
* Converts CellInfoLte into JSON
* @param cellInfo CellInfoLte
* @return JSON
*/
public static String cellInfoLTEJSON(CellInfoLte cellInfo, boolean returnSignalStrength){
final Calendar calendar = Calendar.getInstance();
final JSONObject json = new JSONObject();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && cellInfo != null) {
try {
json.put("provider", CELLINFO_PROVIDER);
json.put("type", LTE);
json.put("timestamp", calendar.getTimeInMillis());
final CellIdentityLte identityLte = cellInfo.getCellIdentity();
json.put("ci", identityLte.getCi());
json.put("mcc", identityLte.getMcc());
json.put("mnc", identityLte.getMnc());
json.put("pci", identityLte.getPci());
json.put("tac", identityLte.getTac());
if (returnSignalStrength){
final JSONObject jsonSignalStrength = new JSONObject();
final CellSignalStrengthLte cellSignalStrengthLte = cellInfo.getCellSignalStrength();
jsonSignalStrength.put("asuLevel", cellSignalStrengthLte.getAsuLevel());
jsonSignalStrength.put("dbm", cellSignalStrengthLte.getDbm());
jsonSignalStrength.put("level", cellSignalStrengthLte.getLevel());
jsonSignalStrength.put("timingAdvance", cellSignalStrengthLte.getTimingAdvance());
json.put("cellSignalStrengthLte", jsonSignalStrength);
}
}
catch(JSONException exc) {
logJSONException(exc);
}
}
return json.toString();
}
JSONHelper.java 文件源码
项目:localcloud_fe
阅读 23
收藏 0
点赞 0
评论 0
/**
* Converts CellInfoLte into JSON
* @param cellInfo CellInfoLte
* @return JSON
*/
public static String cellInfoLTEJSON(CellInfoLte cellInfo, boolean returnSignalStrength){
final Calendar calendar = Calendar.getInstance();
final JSONObject json = new JSONObject();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && cellInfo != null) {
try {
json.put("provider", CELLINFO_PROVIDER);
json.put("type", LTE);
json.put("timestamp", calendar.getTimeInMillis());
final CellIdentityLte identityLte = cellInfo.getCellIdentity();
json.put("ci", identityLte.getCi());
json.put("mcc", identityLte.getMcc());
json.put("mnc", identityLte.getMnc());
json.put("pci", identityLte.getPci());
json.put("tac", identityLte.getTac());
if (returnSignalStrength){
final JSONObject jsonSignalStrength = new JSONObject();
final CellSignalStrengthLte cellSignalStrengthLte = cellInfo.getCellSignalStrength();
jsonSignalStrength.put("asuLevel", cellSignalStrengthLte.getAsuLevel());
jsonSignalStrength.put("dbm", cellSignalStrengthLte.getDbm());
jsonSignalStrength.put("level", cellSignalStrengthLte.getLevel());
jsonSignalStrength.put("timingAdvance", cellSignalStrengthLte.getTimingAdvance());
json.put("cellSignalStrengthLte", jsonSignalStrength);
}
}
catch(JSONException exc) {
logJSONException(exc);
}
}
return json.toString();
}
JSONHelper.java 文件源码
项目:localcloud_fe
阅读 21
收藏 0
点赞 0
评论 0
/**
* Converts CellInfoLte into JSON
* @param cellInfo CellInfoLte
* @return JSON
*/
public static String cellInfoLTEJSON(CellInfoLte cellInfo, boolean returnSignalStrength){
final Calendar calendar = Calendar.getInstance();
final JSONObject json = new JSONObject();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && cellInfo != null) {
try {
json.put("provider", CELLINFO_PROVIDER);
json.put("type", LTE);
json.put("timestamp", calendar.getTimeInMillis());
final CellIdentityLte identityLte = cellInfo.getCellIdentity();
json.put("ci", identityLte.getCi());
json.put("mcc", identityLte.getMcc());
json.put("mnc", identityLte.getMnc());
json.put("pci", identityLte.getPci());
json.put("tac", identityLte.getTac());
if (returnSignalStrength){
final JSONObject jsonSignalStrength = new JSONObject();
final CellSignalStrengthLte cellSignalStrengthLte = cellInfo.getCellSignalStrength();
jsonSignalStrength.put("asuLevel", cellSignalStrengthLte.getAsuLevel());
jsonSignalStrength.put("dbm", cellSignalStrengthLte.getDbm());
jsonSignalStrength.put("level", cellSignalStrengthLte.getLevel());
jsonSignalStrength.put("timingAdvance", cellSignalStrengthLte.getTimingAdvance());
json.put("cellSignalStrengthLte", jsonSignalStrength);
}
}
catch(JSONException exc) {
logJSONException(exc);
}
}
return json.toString();
}
JSONHelper.java 文件源码
项目:cordova-plugin-advanced-geolocation
阅读 23
收藏 0
点赞 0
评论 0
/**
* Converts CellInfoLte into JSON
* @param cellInfo CellInfoLte
* @return JSON
*/
public static String cellInfoLTEJSON(CellInfoLte cellInfo, boolean returnSignalStrength){
final Calendar calendar = Calendar.getInstance();
final JSONObject json = new JSONObject();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 && cellInfo != null) {
try {
json.put("provider", CELLINFO_PROVIDER);
json.put("type", LTE);
json.put("timestamp", calendar.getTimeInMillis());
final CellIdentityLte identityLte = cellInfo.getCellIdentity();
json.put("ci", identityLte.getCi());
json.put("mcc", identityLte.getMcc());
json.put("mnc", identityLte.getMnc());
json.put("pci", identityLte.getPci());
json.put("tac", identityLte.getTac());
if (returnSignalStrength){
final JSONObject jsonSignalStrength = new JSONObject();
final CellSignalStrengthLte cellSignalStrengthLte = cellInfo.getCellSignalStrength();
jsonSignalStrength.put("asuLevel", cellSignalStrengthLte.getAsuLevel());
jsonSignalStrength.put("dbm", cellSignalStrengthLte.getDbm());
jsonSignalStrength.put("level", cellSignalStrengthLte.getLevel());
jsonSignalStrength.put("timingAdvance", cellSignalStrengthLte.getTimingAdvance());
json.put("cellSignalStrengthLte", jsonSignalStrength);
}
}
catch(JSONException exc) {
logJSONException(exc);
}
}
return json.toString();
}
CellIdentityLteSubject.java 文件源码
项目:truth-android
阅读 16
收藏 0
点赞 0
评论 0
public static SubjectFactory<CellIdentityLteSubject, CellIdentityLte> type() {
return new SubjectFactory<CellIdentityLteSubject, CellIdentityLte>() {
@Override
public CellIdentityLteSubject getSubject(FailureStrategy fs, CellIdentityLte that) {
return new CellIdentityLteSubject(fs, that);
}
};
}
LteCellIdentityValidator.java 文件源码
项目:TowerCollector
阅读 16
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public boolean isValid(CellIdentityLte cell) {
boolean valid = (isCiInRange(cell.getCi()) && isTacInRange(cell.getTac())
&& isMncInRange(cell.getMnc()) && isMccInRange(cell.getMcc())
&& isPciInRange(cell.getPci()));
if (!valid) {
Log.w("isValid(): Invalid CellIdentityLte [mcc=%s, mnc=%s, lac=%s, cid=%s, psc=%s]", cell.getMcc(), cell.getMnc(), cell.getTac(), cell.getCi(), cell.getPci());
Log.w("isValid(): Invalid CellIdentityLte %s", cell);
}
return valid;
}
WirelessLoggerService.java 文件源码
项目:openbmap
阅读 29
收藏 0
点赞 0
评论 0
/**
* A valid LTE cell must have cell id set
* @param cdmaLocation {@link CdmaCellLocation}
* @return true if valid cdma id
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
private boolean isValidLteCell(final CellIdentityLte lteInfo) {
if (lteInfo == null) {
return false;
}
final Integer cid = lteInfo.getCi();
return ((cid > -1) && (cid < Integer.MAX_VALUE));
}
WirelessLoggerService.java 文件源码
项目:radiocells-scanner-android
阅读 25
收藏 0
点赞 0
评论 0
/**
* A valid LTE cell must have cell id set
*
* @param lteInfo {@link CellIdentityLte}
* @return true if valid cdma id
*/
@TargetApi(JELLY_BEAN_MR2)
private boolean isValidLteCell(final CellIdentityLte lteInfo) {
if (lteInfo == null) {
return false;
}
final Integer cid = lteInfo.getCi();
return ((cid > -1) && (cid < Integer.MAX_VALUE));
}
CellId.java 文件源码
项目:Simplicissimus
阅读 20
收藏 0
点赞 0
评论 0
public static void fill(TheDictionary map, CellIdentityLte value) throws Exception {
if (value != null) {
map.put("type", "4");
int i;
i = value.getMcc(); if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mcc", i);
i = value.getMnc(); if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mnc", i);
i = value.getTac(); if (i != Integer.MAX_VALUE && i > 0) map.put("tac", i);
i = value.getPci(); if (i != Integer.MAX_VALUE && i > 0) map.put("pci", i);
i = value.getCi(); if (i != Integer.MAX_VALUE && i > 0) map.put("ci", i);
}
}
CellId.java 文件源码
项目:pyneo-wirelesslocation
阅读 23
收藏 0
点赞 0
评论 0
public static void fill(TheDictionary map, CellIdentityLte value) throws Exception {
if (value != null) {
map.put("type", "4");
int i;
i = value.getMcc(); if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mcc", i);
i = value.getMnc(); if (i != Integer.MAX_VALUE && i > 0 && i < 1000) map.put("mnc", i);
i = value.getTac(); if (i != Integer.MAX_VALUE && i > 0) map.put("tac", i);
i = value.getPci(); if (i != Integer.MAX_VALUE && i > 0) map.put("pci", i);
i = value.getCi(); if (i != Integer.MAX_VALUE && i > 0) map.put("ci", i);
}
}
CellInfoLteAssert.java 文件源码
项目:assertj-android
阅读 20
收藏 0
点赞 0
评论 0
public CellInfoLteAssert hasCellIdentity(CellIdentityLte cellIdentity) {
isNotNull();
CellIdentityLte actualCellIdentity = actual.getCellIdentity();
assertThat(actualCellIdentity) //
.overridingErrorMessage("Expected cell identity <%s> but was <%s>.", cellIdentity, actualCellIdentity) //
.isEqualTo(cellIdentity);
return this;
}
CellInfoLteSubject.java 文件源码
项目:truth-android
阅读 18
收藏 0
点赞 0
评论 0
public CellInfoLteSubject hasCellIdentity(CellIdentityLte cellIdentity) {
assertThat(actual().getCellIdentity())
.named("cell identity")
.isEqualTo(cellIdentity);
return this;
}
CellIdentityLteSubject.java 文件源码
项目:truth-android
阅读 16
收藏 0
点赞 0
评论 0
private CellIdentityLteSubject(FailureStrategy failureStrategy, CellIdentityLte subject) {
super(failureStrategy, subject);
}
DeviceApi18.java 文件源码
项目:Android-IMSI-Catcher-Detector
阅读 18
收藏 0
点赞 0
评论 0
public static void loadCellInfo(TelephonyManager tm, Device pDevice) {
int lCurrentApiVersion = Build.VERSION.SDK_INT;
try {
if (pDevice.cell == null) {
pDevice.cell = new Cell();
}
List<CellInfo> cellInfoList = tm.getAllCellInfo();
if (cellInfoList != null) {
for (final CellInfo info : cellInfoList) {
//Network Type
pDevice.cell.setNetType(tm.getNetworkType());
if (info instanceof CellInfoGsm) {
final CellSignalStrengthGsm gsm = ((CellInfoGsm) info).getCellSignalStrength();
final CellIdentityGsm identityGsm = ((CellInfoGsm) info).getCellIdentity();
// Signal Strength
pDevice.cell.setDbm(gsm.getDbm()); // [dBm]
// Cell Identity
pDevice.cell.setCellId(identityGsm.getCid());
pDevice.cell.setMobileCountryCode(identityGsm.getMcc());
pDevice.cell.setMobileNetworkCode(identityGsm.getMnc());
pDevice.cell.setLocationAreaCode(identityGsm.getLac());
} else if (info instanceof CellInfoCdma) {
final CellSignalStrengthCdma cdma = ((CellInfoCdma) info).getCellSignalStrength();
final CellIdentityCdma identityCdma = ((CellInfoCdma) info).getCellIdentity();
// Signal Strength
pDevice.cell.setDbm(cdma.getDbm());
// Cell Identity
pDevice.cell.setCellId(identityCdma.getBasestationId());
pDevice.cell.setMobileNetworkCode(identityCdma.getSystemId());
pDevice.cell.setLocationAreaCode(identityCdma.getNetworkId());
pDevice.cell.setSid(identityCdma.getSystemId());
} else if (info instanceof CellInfoLte) {
final CellSignalStrengthLte lte = ((CellInfoLte) info).getCellSignalStrength();
final CellIdentityLte identityLte = ((CellInfoLte) info).getCellIdentity();
// Signal Strength
pDevice.cell.setDbm(lte.getDbm());
pDevice.cell.setTimingAdvance(lte.getTimingAdvance());
// Cell Identity
pDevice.cell.setMobileCountryCode(identityLte.getMcc());
pDevice.cell.setMobileNetworkCode(identityLte.getMnc());
pDevice.cell.setCellId(identityLte.getCi());
} else if (lCurrentApiVersion >= Build.VERSION_CODES.JELLY_BEAN_MR2 && info instanceof CellInfoWcdma) {
final CellSignalStrengthWcdma wcdma = ((CellInfoWcdma) info).getCellSignalStrength();
final CellIdentityWcdma identityWcdma = ((CellInfoWcdma) info).getCellIdentity();
// Signal Strength
pDevice.cell.setDbm(wcdma.getDbm());
// Cell Identity
pDevice.cell.setLocationAreaCode(identityWcdma.getLac());
pDevice.cell.setMobileCountryCode(identityWcdma.getMcc());
pDevice.cell.setMobileNetworkCode(identityWcdma.getMnc());
pDevice.cell.setCellId(identityWcdma.getCid());
pDevice.cell.setPrimaryScramblingCode(identityWcdma.getPsc());
} else {
log.info("Unknown type of cell signal!"
+ "\n ClassName: " + info.getClass().getSimpleName()
+ "\n ToString: " + info.toString());
}
if (pDevice.cell.isValid()) {
break;
}
}
}
} catch (NullPointerException npe) {
log.error("loadCellInfo: Unable to obtain cell signal information: ", npe);
}
}
LibPhoneStateListener.java 文件源码
项目:android-QoS
阅读 36
收藏 0
点赞 0
评论 0
@TargetApi(17) @Override
public void onCellInfoChanged(List<CellInfo> cellinfos) {
super.onCellInfoChanged(cellinfos);
try {
if (!owner.isMMCActiveOrRunning())
return;
if (tmLastCellInfoUpdate + 60000 > System.currentTimeMillis() && cellinfos != null && cellinfos.size() > 0 && cellinfos.get(0).toString().equals(lastCellInfoString))
return;
if (cellinfos != null && cellinfos.size() > 0)
lastCellInfoString = cellinfos.get(0).toString();
else
lastCellInfoString = "";
tmLastCellInfoUpdate = System.currentTimeMillis();
if (mPhoneState.getNetworkType() == mPhoneState.NETWORK_NEWTYPE_LTE)
{
String neighbors = owner.getCellHistory().updateLteNeighborHistory(cellinfos);
if (neighbors != null)
{
owner.getIntentDispatcher().updateLTEIdentity (neighbors);
owner.getReportManager().setNeighbors(neighbors);
}
}
if (cellinfos != null && cellinfos.size() > 0 && cellinfos.get(0) != null)
for (int i=0; i<cellinfos.size(); i++)
{
//MMCLogger.logToFile(MMCLogger.Level.DEBUG, TAG, "onCellInfoChanged", "cellinfos["+i+"]: " + cellinfos.get(i).toString());
if (mPhoneState.getNetworkType() == mPhoneState.NETWORK_NEWTYPE_LTE)
{
if (cellinfos.get(i) instanceof CellInfoLte)
{
CellIdentityLte cellIDLte = ((CellInfoLte)cellinfos.get(i)).getCellIdentity();
//MMCLogger.logToFile(MMCLogger.Level.DEBUG, TAG, "onCellInfoChanged", "Reflected: " + listCellInfoFields(cellIDLte));
}
}
}
//else
// MMCLogger.logToFile(MMCLogger.Level.ERROR, TAG, "onCellInfoChanged", "cellinfos: null");
} catch (Exception intEx){
LoggerUtil.logToFile(LoggerUtil.Level.ERROR, TAG, "onCellInfoChanged", "InterruptedException: " + intEx.getMessage());
}
}
PlatformNetworksManager.java 文件源码
项目:365browser
阅读 17
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private static VisibleCell getVisibleCellPostJellyBeanMr1(
@Nullable CellInfo cellInfo, long elapsedTime, long currentTime) {
if (cellInfo == null) {
return VisibleCell.UNKNOWN_VISIBLE_CELL;
}
long cellInfoAge = elapsedTime - TimeUnit.NANOSECONDS.toMillis(cellInfo.getTimeStamp());
long cellTimestamp = currentTime - cellInfoAge;
if (cellInfo instanceof CellInfoCdma) {
CellIdentityCdma cellIdentityCdma = ((CellInfoCdma) cellInfo).getCellIdentity();
return VisibleCell.builder(VisibleCell.CDMA_RADIO_TYPE)
.setCellId(cellIdentityCdma.getBasestationId())
.setLocationAreaCode(cellIdentityCdma.getNetworkId())
.setMobileNetworkCode(cellIdentityCdma.getSystemId())
.setTimestamp(cellTimestamp)
.build();
}
if (cellInfo instanceof CellInfoGsm) {
CellIdentityGsm cellIdentityGsm = ((CellInfoGsm) cellInfo).getCellIdentity();
return VisibleCell.builder(VisibleCell.GSM_RADIO_TYPE)
.setCellId(cellIdentityGsm.getCid())
.setLocationAreaCode(cellIdentityGsm.getLac())
.setMobileCountryCode(cellIdentityGsm.getMcc())
.setMobileNetworkCode(cellIdentityGsm.getMnc())
.setTimestamp(cellTimestamp)
.build();
}
if (cellInfo instanceof CellInfoLte) {
CellIdentityLte cellIdLte = ((CellInfoLte) cellInfo).getCellIdentity();
return VisibleCell.builder(VisibleCell.LTE_RADIO_TYPE)
.setCellId(cellIdLte.getCi())
.setMobileCountryCode(cellIdLte.getMcc())
.setMobileNetworkCode(cellIdLte.getMnc())
.setPhysicalCellId(cellIdLte.getPci())
.setTrackingAreaCode(cellIdLte.getTac())
.setTimestamp(cellTimestamp)
.build();
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2
&& cellInfo instanceof CellInfoWcdma) {
// CellInfoWcdma is only usable JB MR2 upwards.
CellIdentityWcdma cellIdentityWcdma = ((CellInfoWcdma) cellInfo).getCellIdentity();
return VisibleCell.builder(VisibleCell.WCDMA_RADIO_TYPE)
.setCellId(cellIdentityWcdma.getCid())
.setLocationAreaCode(cellIdentityWcdma.getLac())
.setMobileCountryCode(cellIdentityWcdma.getMcc())
.setMobileNetworkCode(cellIdentityWcdma.getMnc())
.setPrimaryScramblingCode(cellIdentityWcdma.getPsc())
.setTimestamp(cellTimestamp)
.build();
}
return VisibleCell.UNKNOWN_VISIBLE_CELL;
}
PhoneStateScanner.java 文件源码
项目:PhoneProfilesPlus
阅读 20
收藏 0
点赞 0
评论 0
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private void getAllCellInfo(List<CellInfo> cellInfo) {
// only for registered cells is returned identify
// SlimKat in Galaxy Nexus - returns null :-/
// Honor 7 - returns empty list (not null), Dual SIM?
if (cellInfo!=null) {
if (Permissions.checkLocation(context.getApplicationContext())) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "---- start ----------------------------");
for (CellInfo _cellInfo : cellInfo) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "registered="+_cellInfo.isRegistered());
if (_cellInfo instanceof CellInfoGsm) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "gsm info="+_cellInfo);
CellIdentityGsm identityGsm = ((CellInfoGsm) _cellInfo).getCellIdentity();
if (identityGsm.getCid() != Integer.MAX_VALUE) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "gsm mCid="+identityGsm.getCid());
if (_cellInfo.isRegistered()) {
registeredCell = identityGsm.getCid();
lastConnectedTime = Calendar.getInstance().getTimeInMillis();
}
}
} else if (_cellInfo instanceof CellInfoLte) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "lte info="+_cellInfo);
CellIdentityLte identityLte = ((CellInfoLte) _cellInfo).getCellIdentity();
if (identityLte.getCi() != Integer.MAX_VALUE) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "lte mCi="+identityLte.getCi());
if (_cellInfo.isRegistered()) {
registeredCell = identityLte.getCi();
lastConnectedTime = Calendar.getInstance().getTimeInMillis();
}
}
} else if (_cellInfo instanceof CellInfoWcdma) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "wcdma info="+_cellInfo);
//if (android.os.Build.VERSION.SDK_INT >= 18) {
CellIdentityWcdma identityWcdma = ((CellInfoWcdma) _cellInfo).getCellIdentity();
if (identityWcdma.getCid() != Integer.MAX_VALUE) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "wcdma mCid=" + identityWcdma.getCid());
if (_cellInfo.isRegistered()) {
registeredCell = identityWcdma.getCid();
lastConnectedTime = Calendar.getInstance().getTimeInMillis();
}
}
//}
//else {
// PPApplication.logE("PhoneStateScanner.getAllCellInfo", "wcdma mCid=not supported for API level < 18");
//}
} else if (_cellInfo instanceof CellInfoCdma) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "cdma info="+_cellInfo);
CellIdentityCdma identityCdma = ((CellInfoCdma) _cellInfo).getCellIdentity();
if (identityCdma.getBasestationId() != Integer.MAX_VALUE) {
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "wcdma mCid="+identityCdma.getBasestationId());
if (_cellInfo.isRegistered()) {
registeredCell = identityCdma.getBasestationId();
lastConnectedTime = Calendar.getInstance().getTimeInMillis();
}
}
}
//else {
// PPApplication.logE("PhoneStateScanner.getAllCellInfo", "unknown info="+_cellInfo);
//}
}
//PPApplication.logE("PhoneStateScanner.getAllCellInfo", "---- end ----------------------------");
PPApplication.logE("PhoneStateScanner.getAllCellInfo", "registeredCell=" + registeredCell);
}
}
else
PPApplication.logE("PhoneStateScanner.getAllCellInfo", "cell info is null");
}
CellTowerListLte.java 文件源码
项目:satstat
阅读 17
收藏 0
点赞 0
评论 0
/**
* Adds or updates a cell tower.
* <p>
* If the cell tower is already in the list, its data is updated; if not, a
* new entry is created.
* <p>
* This method will set the cell's identity data, its signal strength and
* whether it is the currently serving cell.
* @return The new or updated entry.
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public CellTowerLte update(CellInfoLte cell) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1)
return null;
CellIdentityLte cid = cell.getCellIdentity();
CellTowerLte result = null;
CellTowerLte cand = this.get(cid.getMcc(), cid.getMnc(), cid.getTac(), cid.getCi());
if ((cand != null) && CellTower.matches(cid.getPci(), cand.getPci()))
result = cand;
if (result == null) {
cand = this.get(cid.getPci());
if ((cand != null)
&& ((cid.getMcc() == Integer.MAX_VALUE) || CellTower.matches(cid.getMcc(), cand.getMcc()))
&& ((cid.getMnc() == Integer.MAX_VALUE) || CellTower.matches(cid.getMnc(), cand.getMnc()))
&& ((cid.getTac() == Integer.MAX_VALUE) || CellTower.matches(cid.getTac(), cand.getTac()))
&& ((cid.getCi() == Integer.MAX_VALUE) ||CellTower.matches(cid.getCi(), cand.getCi())))
result = cand;
}
if (result == null)
result = new CellTowerLte(cid.getMcc(), cid.getMnc(), cid.getTac(), cid.getCi(), cid.getPci());
if (result.getMcc() == CellTower.UNKNOWN)
result.setMcc(cid.getMcc());
if (result.getMnc() == CellTower.UNKNOWN)
result.setMnc(cid.getMnc());
if (result.getTac() == CellTower.UNKNOWN)
result.setTac(cid.getTac());
if (result.getCi() == CellTower.UNKNOWN)
result.setCi(cid.getCi());
if (result.getPci() == CellTower.UNKNOWN)
result.setPci(cid.getPci());
this.put(result.getText(), result);
this.put(result.getAltText(), result);
result.setCellInfo(true);
result.setDbm(cell.getCellSignalStrength().getDbm());
result.setServing(cell.isRegistered());
Log.d(this.getClass().getSimpleName(), String.format("Added CellInfoLte for %s, %d G, %d dBm",
result.getText(),
result.getGeneration(),
result.getDbm()));
return result;
}
CellIdentityLteAssert.java 文件源码
项目:assertj-android
阅读 20
收藏 0
点赞 0
评论 0
public CellIdentityLteAssert(CellIdentityLte actual) {
super(actual, CellIdentityLteAssert.class);
}