This week's book giveaway is in the
General Computing
forum.
We're giving away four copies of
Arduino in Action
and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line!
See
this thread
for details.
A friendly place for programming greenhorns!
Big Moose Saloon
Search
|
Java FAQ
|
Recent Topics
Register / Login
Win a copy of
Arduino in Action
this week in the
General Computing
forum!
A special promo:
Enter your blog post or vote on a blogger to be featured in an upcoming Journal
JavaRanch
»
Java Forums
»
Mobile
»
Android
Author
telephonyManager.getCellLocation() gives null
sameera liyanage
Ranch Hand
Joined: Nov 25, 2008
Posts: 690
posted
Nov 09, 2011 21:37:43
0
This is my main class
package com.TelephonyManager.home; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.telephony.TelephonyManager; import android.telephony.gsm.GsmCellLocation; import android.widget.TextView; public class AndroidTelephonyManager extends Activity { public class OpenCellID { String mcc; //Mobile Country Code String mnc; //mobile network code String cellid; //Cell ID String lac; //Location Area Code Boolean error; String strURLSent; String GetOpenCellID_fullresult; String latitude; String longitude; public Boolean isError(){ return error; } public void setMcc(String value){ mcc = value; } public void setMnc(String value){ mnc = value; } public void setCallID(int value){ cellid = String.valueOf(value); } public void setCallLac(int value){ lac = String.valueOf(value); } public String getLocation(){ return(latitude + " : " + longitude); } public void groupURLSent(){ strURLSent = "http://www.opencellid.org/cell/get?mcc=" + mcc +"&mnc=" + mnc +"&cellid=" + cellid +"&lac=" + lac +"&fmt=txt"; } public String getstrURLSent(){ return strURLSent; } public String getGetOpenCellID_fullresult(){ return GetOpenCellID_fullresult; } public void GetOpenCellID() throws Exception { groupURLSent(); HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(strURLSent); HttpResponse response = client.execute(request); GetOpenCellID_fullresult = EntityUtils.toString(response.getEntity()); spliteResult(); } private void spliteResult(){ if(GetOpenCellID_fullresult.equalsIgnoreCase("err")){ error = true; }else{ error = false; String[] tResult = GetOpenCellID_fullresult.split(","); latitude = tResult[0]; longitude = tResult[1]; } } } int myLatitude, myLongitude; OpenCellID openCellID; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textGsmCellLocation = (TextView)findViewById(R.id.gsmcelllocation); TextView textMCC = (TextView)findViewById(R.id.mcc); TextView textMNC = (TextView)findViewById(R.id.mnc); TextView textCID = (TextView)findViewById(R.id.cid); TextView textLAC = (TextView)findViewById(R.id.lac); TextView textGeo = (TextView)findViewById(R.id.geo); TextView textRemark = (TextView)findViewById(R.id.remark); //retrieve a reference to an instance of TelephonyManager TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); GsmCellLocation cellLocation = (GsmCellLocation)telephonyManager.getCellLocation(); String networkOperator = telephonyManager.getNetworkOperator(); String mcc = networkOperator.substring(0, 3); String mnc = networkOperator.substring(3); textMCC.setText("mcc: " + mcc); textMNC.setText("mnc: " + mnc); int cid = cellLocation.getCid(); int lac = cellLocation.getLac(); textGsmCellLocation.setText(cellLocation.toString()); textCID.setText("gsm cell id: " + String.valueOf(cid)); textLAC.setText("gsm location area code: " + String.valueOf(lac)); openCellID = new OpenCellID(); openCellID.setMcc(mcc); openCellID.setMnc(mnc); openCellID.setCallID(cid); openCellID.setCallLac(lac); try { openCellID.GetOpenCellID(); if(!openCellID.isError()){ textGeo.setText(openCellID.getLocation()); textRemark.setText( "\n\n" + "URL sent: \n" + openCellID.getstrURLSent() + "\n\n" + "response: \n" + openCellID.GetOpenCellID_fullresult); }else{ textGeo.setText("Error"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); textGeo.setText("Exception: " + e.toString()); } } }
this is my main xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/gsmcelllocation" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/mcc" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/mnc" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/cid" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/lac" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/geo" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/remark" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
this is manifest xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.TelephonyManager.home" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AndroidTelephonyManager" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
but when i run this programm it gives me null.
below is exception
[2011-11-10 10:01:02 - ddms]null java.lang.NullPointerException at com.android.ddmlib.Client.read(Client.java:630) at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:311) at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263) [2011-11-10 10:01:02 - ddms]null java.lang.NullPointerException at com.android.ddmlib.Client.read(Client.java:630) at com.android.ddmlib.MonitorThread.processClientActivity(MonitorThread.java:311) at com.android.ddmlib.MonitorThread.run(MonitorThread.java:263)
when i debug the code telephonyManager.getCellLocation() gives me null.please see attachment.
tele.png
I agree. Here's the link:
http://ej-technologies/jprofiler
- if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
subject: telephonyManager.getCellLocation() gives null
Similar Threads
url error ,please help
How to retrieve string from EditText?
it doesn't shows location details
shows me blank with blinking arrow
android uncaught handler: thread main exiting due to uncaught exception
All times are in JavaRanch time: GMT-6 in summer, GMT-7 in winter