- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试利用有关相邻小区的移动信息,Android 上可通过 TelephonyManager
类及其 getNeighboringCellInfo
方法获取这些信息。下面我发布了完成这项工作的一部分代码(大部分来自公开来源),以及此代码生成的一个输出示例(如所附屏幕截图所示)。代码和图像“按原样”放置,没有任何更改,因此应该相对容易地将一个与另一个关联起来并确保它们正确工作(当然,可能存在我忽略的错误)。
问题是相邻单元格的列表通常包含具有“不正确”(据我理解)数据的元素,例如:
NeighboringCellInfo
- lac
、cid
、psc
- 设置为 -1,并且仅rssi
字段似乎有意义;NeighboringCellInfo
,lac
等于 0;这是否意味着 lac
与当前 Activity 单元格相同?NeighboringCellInfo
的 rssi
值超出 [0, 31] 范围且不在 UNKNOWN_RSSI
范围内;这些值可以是正数(33,如屏幕截图所示),也可以是负数(它们看起来像一个合适的原始 rssi 值,不需要从 asu
转换);所有这些是否意味着移动技术的正常运行、某种可能的节能优化或特定设备(在我的例子中是 LG Optimus One)存在缺陷?
如果可能的话,请建议如何从 Android 上的单元环境中获得一致的读数。
GsmCellLocation cellLocation = (GsmCellLocation)telephonyManager.getCellLocation();
String networkOperator = telephonyManager.getNetworkOperator();
int type = telephonyManager.getNetworkType();
String mcc = networkOperator.substring(0, 3);
String mnc = networkOperator.substring(3);
textMCC.setText("mcc: " + mcc + " mnc: " + mnc);
textMNC.setText("operator: " + networkOperator);
int cid = cellLocation.getCid();
int lac = cellLocation.getLac();
int psc = cellLocation.getPsc();
textGsmCellLocation.setText(cellLocation.toString());
textCID.setText("lac: " + String.valueOf(lac) + " cid: " + String.valueOf(cid) + " psc: " + String.valueOf(psc) + " type: " + String.valueOf(type) + " rssi: " + String.valueOf(currentCellRSSI));
TextView Neighboring = (TextView)findViewById(R.id.neighboring);
List<NeighboringCellInfo> NeighboringList = telephonyManager.getNeighboringCellInfo();
String stringNeighboring = "Neighboring List - Lac : Cid : Psc : type : RSSI\n";
for(int i = 0; i < NeighboringList.size(); i++)
{
String dBm;
int rssi = NeighboringList.get(i).getRssi();
if(rssi == NeighboringCellInfo.UNKNOWN_RSSI)
{
dBm = "Unknown RSSI";
}
else
{
if(rssi >= 0 && rssi < 32)
{
dBm = String.valueOf(-113 + 2 * rssi) + " dBm";
}
else
{
dBm = "Unknown value:" + Integer.toString(rssi);
}
}
stringNeighboring = stringNeighboring
+ String.valueOf(NeighboringList.get(i).getLac()) + " : "
+ String.valueOf(NeighboringList.get(i).getCid()) + " : "
+ String.valueOf(NeighboringList.get(i).getPsc()) + " : "
+ String.valueOf(NeighboringList.get(i).getNetworkType()) + " : "
+ dBm + "\n";
}
Neighboring.setText(stringNeighboring);
最佳答案
相邻小区以两种不同的方式报告:
在 GSM/GPRS(这似乎是您截图时所在的网络)上,您应该获得相邻小区的 MCC/MNC/LAC/CID 元组。我看到您获得了有效的 CID 值。如果您在 GSM (2.xG) 网络上,PSC 将始终为 -1,因为 PSC 在 GSM 上没有意义(PSC 是 CDMA 参数,而 GSM 是基于 TDMA 的)。
在 UMTS 上情况有所不同:对于相邻小区,仅报告 PSC,除非您连接到它们,否则您不会发现它们的其他参数。
LTE 原则上类似于 UMTS,但名称略有不同:您使用 TAC(跟踪区号)和 CI(小区标识)代替 LAC 和 CID;你有一个 PCI(物理单元 ID)而不是 PSC。但是,它们的作用与 UMTS 对应物基本相同。
但是请注意,设备之间的实现差异很大:有些手机即使在 3G 网络上也不会报告 PSC,而有些手机永远不会报告相邻小区。 Nexus S(与大多数三星制造的设备一样)均未报告。
但不确定 LAC=0。它可能意味着“与当前小区相同的 LAC”,在这种情况下,查看位置区域边界的输出会很有趣,电话可以在该区域接收具有多个 LAC 的小区。 (我们会看到来自两个 LA 的细胞吗?还是仅来自“我们的”LA?对于来自邻近 LA 的细胞,报告的 LAC 是什么?)
关于java - 邻区信息不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208236/
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 4年前关闭。 Improve this questi
我已经完成了注册页面,并且运行顺利。 现在我需要弄清楚登录部分。我想要它,所以一旦用户登录,它就会将他们带到私有(private)页面,只有登录的用户才能看到。 它不需要针对每个用户进行个性化设置,只
出于个人好奇心,我目前正在学习区 block 链的工作原理。我正在学习这门类(class),现在我已经使用网络套接字设置了点对点连接。区 block 链应用程序的多个实例现在可以使用这些套接字运行并相
我读过: The blockchain database isn’t stored in any single location, meaning the records it keeps are t
Closed. This question needs to be more focused。它当前不接受答案。 想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
如果我在区块链中进行交易,是否只有在将交易添加到区块链后才会进行比特币转账?如果是这样,挖掘区块可能需要时间,并且无法进行紧急付款。那么这不是区块链的劣势吗? 最佳答案 如果您不重视能够在没有第三方(
Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题
根据我的理解,我读到的关于区 block 链的所有内容都表明,即使在私有(private)区 block 链上,每个参与者都可以查看所有交易。我看到它提到区 block 链的一个用例可能是共享医疗数据
服务器正在发送消息时,如何阻止连接到服务器的一个IP地址。我的发送消息选项程序如下所示。 private void buttonSendMsg_Click(对象发送者,EventArgs e) {
iam正在hadoop apache 2.7.1上工作 和iam添加大小不超过100 Kb的文件 所以如果我将块大小配置为1 mb或默认值是 128兆字节 不会影响我的文件,因为它们只会保存在一个块中
我有一个docker-compose文件here。我可以连接到7051并注册我的chaincode客户端,但是当我尝试连接到localhost:7050时,我得到一个错误,该错误在使用curl测试时如
从数据类型来看,区 block 链是单链表吗?因为每个 block 都使用哈希引用前一个 block 。 或者它是某种树? 最佳答案 区 block 链表示为单链表的方式。每个 block 都有前一个
我无法理解给定代码片段的 hashcode() 部分。 我尝试过搜索它,但我无法弄清楚。 this.hash = Arrays.hashCode(new Integer[]{data.has
已关闭。这个问题是 not about programming or software development 。目前不接受答案。 这个问题似乎不是关于 a specific programming
我正在通过一些在线示例学习区 block 链。我有这个高级代码,我用以前的哈希创建一个新 block ,然后向它添加一个事务,然后生成 block 的困难哈希(有 8 个前导零) Block blo
我们有一个包含一些数字商品的网站。从那里购买的用户需要用 BTC 购买一些信用。在他购买信用卡后,脚本必须将他用 BTC 购买的货币 (USD) 数量加载到他的账户中。 所以这里我们有 HTML 表单
我目前正在使用 enumerateObjectsUsingBlock block 在 subview 下进行枚举,我怎样才能确定 block 的完成? 下面是区 block 内容 [self.view
我通常将显示 block 放在链接上,以使按钮的所有 div 都处于事件状态,而不仅仅是文本。但在这种情况下,我需要在 ul li 中使用 display:inline-block 我认为这会禁用其他
我正在尝试创建付款账单并通过电报机器人发送给我的客户:我正在使用区 block 链 API V2-https://blockchain.info/api/api 接收。我的代码是: xpub='***
有个面试题:区 block 链和不可变链表有什么区别? 我回答他们是相同的技术,然后没有通过测试。请纠正我的错误。 最佳答案 链表中的每一项通常通过指针或内存地址指向链表中的下一项。 区 block
我是一名优秀的程序员,十分优秀!