Có ai biết cách truy xuất danh sách tháp di động trên GSM và CDMA trên Android hay không.Truy xuất thông tin tháp di động
Tôi đã cố gắng sử dụng Vị trí Google Maps API: https://developers.google.com/maps/documentation/business/geolocation/
Và tôi muốn để có được tế bào tháp thông tin với các lĩnh vực:
- CellID: định danh duy nhất của tế bào. Trên GSM, đây là Cell ID (CID); Mạng CDMA sử dụng ID trạm gốc (BID).
- vị tríMã mã: Mã vùng vị trí (LAC) cho mạng GSM; Mạng CDMA sử dụng ID mạng (NID).
- mobileCountryCode: Mã quốc gia di động của tháp di động (MCC).
- mobileNetworkCode: Mã mạng di động của tháp di động. Đây là MNC cho GSM hoặc ID hệ thống (SID) cho CDMA.
- tuổi: Số mili giây kể từ khi ô này là chính. Nếu tuổi là 0, cellId đại diện cho một phép đo hiện tại.
- signalStrength: Cường độ tín hiệu radio đo bằng dBm.
- timingAdvance: Giá trị trước thời gian.
Mã này không đặc biệt nhận được thông tin về tháp di động.
TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// Type of the network
int phoneTypeInt = tel.getPhoneType();
String phoneType = null;
phoneType = phoneTypeInt == TelephonyManager.PHONE_TYPE_GSM ? "gsm" : phoneType;
phoneType = phoneTypeInt == TelephonyManager.PHONE_TYPE_CDMA ? "cdma" : phoneType;
try {
if (phoneType != null) {
params.put("radioType", phoneType);
}
} catch (Exception e) {}
/*
* The below code doesn't work I think.
*/
JSONArray cellList = new JSONArray();
List<NeighboringCellInfo> neighCells = tel.getNeighboringCellInfo();
for (int i = 0; i < neighCells.size(); i++) {
try {
JSONObject cellObj = new JSONObject();
NeighboringCellInfo thisCell = neighCells.get(i);
cellObj.put("cellId", thisCell.getCid());
cellList.put(cellObj);
} catch (Exception e) {}
}
if (cellList.length() > 0) {
try {
params.put("cellTowers", cellList);
} catch (JSONException e) {}
}
Và tôi thiết lập quyền như thế này:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
Xin hãy giúp tôi, cảm ơn bạn.
"Mã của tôi hoạt động ngoại trừ việc nhận thông tin về tháp di động" là mô tả vô dụng về các triệu chứng của bạn. Hãy dành thời gian để giải thích, chi tiết, cái gì là và không hoạt động. – CommonsWare
Tôi xin lỗi, tiếng Anh không phải là ngôn ngữ chính của tôi. Khi tôi chạy mã trên Android của mình (nhà cung cấp dịch vụ chạy nước rút), "tel.getNeighboringCellInfo();" trả về luôn rỗng. – wf9a5m75
Và ngay cả khi tôi thử mã trên các mạng Android khác của mạng GSM, tôi cũng nhận được kết quả tương tự. Vì vậy, câu hỏi của tôi là cách lấy thông tin về tháp di động. – wf9a5m75