2012-02-17 31 views
8

Tôi đang cố gắng để có được thông tin về các tế bào lân cận điện thoại của tôi có thể "xem" atm. càng xa càng tốt. tôi làm như sau:android: NeighboringCellInfo luôn trống! tại sao?

telManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 
//... 
ArrayList<NeighboringCellInfo> neighboringCellList = (ArrayList<NeighboringCellInfo>) telManager.getNeighboringCellInfo(); 

thật không may, danh sách này hóa ra luôn trống. ngay cả ở những nơi khác nhau. Tôi sống ở berlin, vì vậy tôi không nghĩ rằng đó là bởi vì thực sự chỉ có một tế bào có sẵn!

update: quyền của tôi trông như thế này:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
+1

quyền được đặt? – WarrenFaith

+0

yep! (xem bài viết cập nhật) – xenonite

+1

Bạn đã tìm thấy giải pháp cho vấn đề này chưa? Tôi đang sử dụng Galaxy Nexus. Tôi đã thử tất cả các gợi ý dưới đây, nhưng tôi vẫn không nhận được bất cứ điều gì trong các tế bào lân cận. – ishan

Trả lời

3

Tôi đã nhìn thấy một số câu hỏi về vấn đề tương tự, nhưng nó có vẻ như không ai trong số họ có một giải pháp tốt và xác định. Đề nghị phổ biến nhất là đảm bảo bạn có quyền chính xác (mà tôi thấy bạn làm trong câu hỏi của bạn) và có một số người nói rằng điều này chỉ hoạt động trên 2G chứ không phải 3G.

Hãy xem các câu hỏi tương tự sau đây. Nó có thể chỉ cho bạn một số hướng mới:

getNeighboringCellInfo() returning null list

Null Issue with NeighboringCellInfo, CID and LAC

Get neighboring cell in Android returns null

0

getNeighboringCellInfo() bị phản đối trong android. Bạn nên sử dụng getAllCellInfo() và lưu đầu ra của số đó trong một số List và sử dụng vòng lặp trên mỗi phần tử trong Danh sách quyết định người hàng xóm nào đang sử dụng element.isRegistered(). NeighboringCells có isRegistered() == false.

Các vấn đề liên quan