使用Android三星galaxy智能手机获取相邻小区信息

时间:2013-12-07 18:04:58

标签: android samsung-mobile cells

我的目标是获取所有相邻的手机信号塔信息,如cell id,cell lac和RSS值,我使用类telephonyManager.getNeighboringCellInfo()获取所需信息,但每次都返回null。

但是,我成功地使用telephonyManager.getCellLocation()获得了与移动设备(即服务小区)相连的最近的单小区塔信息。

我试图解决这个问题并搜索与之相关的所有内容,然后我们发现所有三星设备都不支持telephonyManager.getNeighboringCellInfo()类,它不适用于三星,但它适用于HTC和LG设备。 / p>

看到这个: https://code.google.com/p/android/issues/detail?id=24136

我需要在三星Android设备上应用它并获取相邻的小区信息。谁能告诉我怎么做到这一点?

单细胞代码:

if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) {
            cellLocation = (GsmCellLocation)telephonyManager.getCellLocation();
            if(cellLocation!=null){
                int cell_ID = cellLocation.getCid();
                int cell_psc= cellLocation.getPsc();
                int cell_lac =cellLocation.getLac();
                cell_info.setText("Cell_ID: "+ String.valueOf(cell_ID) +"\n"+"Cell_psc: "+ String.valueOf(cell_psc)+"\n"+
                        "Cell_lac: " +String.valueOf(cell_lac)+"\n"+cellLocation.toString());

            }
        }

邻近单元代码:

List<NeighboringCellInfo> neighboringCellInfos = telephonyManager.getNeighboringCellInfo();
        for(NeighboringCellInfo neighboringCellInfo : neighboringCellInfos)
        {
            neighboringCellInfo.getCid();
            neighboringCellInfo.getLac();
            neighboringCellInfo.getPsc();
            neighboringCellInfo.getNetworkType();
            neighboringCellInfo.getRssi();

            neibouring_cell_information.add(neighboringCellInfo.getCid()+"\n"+ neighboringCellInfo.getRssi());

        }
        Toast.makeText(getApplicationContext(),neibouring_cell_information +"ok" , Toast.LENGTH_LONG).show();

所有添加的权限:

    <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

2 个答案:

答案 0 :(得分:3)

三星手机似乎不支持邻居显示。请查看此论坛:

http://www.finetopix.com/showthread.php?30787-G-NetTrack-Android-OS-Netmonitor/page2

该应用程序的开发人员表示,三星芯片不支持显示邻居的命令。

答案 1 :(得分:2)

正如@Ayman所说,大多数三星手机和其他一些手机都不支持getNeigbouringCells()

cellid实现因移动设备而异,因为这些功能被认为是可选的。例如:

三星(所有设备):getNeigbouringCells()根本不受支持,并且总是返回一个空列表。

根据这个:http://wiki.opencellid.org/wiki/Android_library

和此:

https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=24306