2012-02-17 14 views
8

मैं पड़ोसी कोशिकाओं के बारे में जानकारी प्राप्त करने की कोशिश कर रहा हूं, मेरा फोन एटीएम देख सकता है। अब तक तो सब ठीक है। मैं इस तरह ऐसा करते हैं:एंड्रॉइड: NeighboringCellInfo हमेशा खाली! क्यूं कर?

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

दुर्भाग्य से, इस सूची पता चला है हर समय खाली किया जाना है। यहां तक ​​कि विभिन्न स्थानों में भी। मैं बर्लिन में रहता हूं, इसलिए मुझे नहीं लगता कि ऐसा इसलिए है क्योंकि वास्तव में केवल एक सेल उपलब्ध है!

अद्यतन: मेरी अनुमतियाँ इस तरह दिखेगा:

<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

अनुमति सेट है? – WarrenFaith

+0

हाँ! (अद्यतन पोस्ट देखें) – xenonite

+1

क्या आपको अभी तक इस समस्या का समाधान मिला है? मैं गैलेक्सी नेक्सस पर हूं। मैंने नीचे दिए गए सभी सुझावों का प्रयास किया है, लेकिन मुझे अभी भी पड़ोसी कोशिकाओं में कुछ भी नहीं मिला है। – ishan

उत्तर

3

मैं एक ही मुद्दे पर कई सवाल देखा है, लेकिन यह उनमें से कोई भी तरह लगता है एक अच्छा और नियतात्मक समाधान मिल गया। सबसे आम सुझाव यह सुनिश्चित करना है कि आपके पास सही अनुमति है (जो मैं आपको अपने प्रश्न में करता हूं) और कुछ ऐसे हैं जो कहते हैं कि यह केवल 2 जी पर काम करता है, न कि 3 जी।

निम्नलिखित समान प्रश्नों पर नज़र डालें। यह कुछ नई दिशाओं में आप इंगित कर सकता है:

getNeighboringCellInfo() returning null list

Null Issue with NeighboringCellInfo, CID and LAC

Get neighboring cell in Android returns null

0

getNeighboringCellInfo() एंड्रॉयड में मान्य नहीं है। आपको getAllCellInfo() का उपयोग करना चाहिए और List में इसका आउटपुट सहेजना चाहिए और सूची के प्रत्येक तत्व पर एक लूप का उपयोग करना तय करना है जो element.isRegistered() का उपयोग कर पड़ोसी है। पड़ोसी कैल्स में isRegistered() == false है।