[問題] 請教於平板取得經緯度問題~

看板AndroidDev作者 (smile D)時間12年前 (2014/02/21 23:28), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
各位板上的大大你們好 不久前剛拿到一台平板(Samsung Tab P1010 - android ver. 2.3.6) 目前想要完成一個簡單的取經、緯度的程式 但是在執行時,都會發生異常終止~ 經try&error後有發現問題,只要把location.getLatitude()的部分註解起來 就能順利執行,但是也就無法得到經緯度資訊了 囧... 以下是一些Code 資訊 ======================================== import的部分 ======================================== import android.location.Criteria; import android.location.Location; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.Toast; ======================================== 權限部分 ======================================== ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION 這兩個都有加入 ======================================== 主程式部分 ======================================== LocationManager lm @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn1 = (Button) findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub double latitude, longitude; String str = "目前定位: \n"; lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); LocationProvider lp = lm.getProvider(LocationManager.GPS_PROVIDER); Location location = lm.getLastKnownLocation(lp.getName()); latitude = location.getLatitude(); longitude = location.getLongitude(); str = str + "緯度: "+ latitude +"\n經度: "+ longitude; Toast.makeText(getApplicationContext(), str, Toast.LENGTH_LONG).show(); } }); ================================== 不好意思~ 麻煩各位了 <(_"_)> 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.61.162

02/21 23:39, , 1F
有code可是沒錯誤訊息,夢只能解一半
02/21 23:39, 1F
不好意思 馬上附上 http://ppt.cc/rYtj :P

02/21 23:56, , 2F
getLastKnownLocation是讀上一次的紀錄,看來你的機器沒
02/21 23:56, 2F

02/21 23:56, , 3F
有,所以得到的location為null
02/21 23:56, 3F

02/21 23:58, , 4F
用requestLocationUpdates搭上LocationListener才能讀取
02/21 23:58, 4F

02/21 23:58, , 5F
新的資料
02/21 23:58, 5F

02/22 00:02, , 6F
02/22 00:02, 6F
謝謝k大和a大的回應 使用requestLocationUpdates搭上LocationListener不會異常終止了 ((ya~ 有用一個textView在觀察,若onLocationChanged 就setText 然後 requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll); 不知道是不是因為在室內的關係 經緯度變動不大~ 螢幕上也看不出甚麼變化 囧~ ※ 編輯: drdsmile 來自: 114.43.61.162 (02/22 02:00)
文章代碼(AID): #1J1t2h3J (AndroidDev)