作者drdsmile (smile D)
看板AndroidDev
標題[問題] 請教於平板取得經緯度問題~
時間Fri Feb 21 23:28:41 2014
各位板上的大大你們好
不久前剛拿到一台平板(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
推 kewang:有code可是沒錯誤訊息,夢只能解一半 02/21 23:39
不好意思 馬上附上
http://ppt.cc/rYtj :P
推 asilzheng:getLastKnownLocation是讀上一次的紀錄,看來你的機器沒 02/21 23:56
→ asilzheng:有,所以得到的location為null 02/21 23:56
→ asilzheng:用requestLocationUpdates搭上LocationListener才能讀取 02/21 23:58
→ asilzheng:新的資料 02/21 23:58
謝謝k大和a大的回應
使用requestLocationUpdates搭上LocationListener不會異常終止了 ((ya~
有用一個textView在觀察,若onLocationChanged 就setText
然後 requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
不知道是不是因為在室內的關係
經緯度變動不大~ 螢幕上也看不出甚麼變化 囧~
※ 編輯: drdsmile 來自: 114.43.61.162 (02/22 02:00)