作者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
1F:推 kewang:有code可是没错误讯息,梦只能解一半 02/21 23:39
不好意思 马上附上
http://ppt.cc/rYtj :P
2F:推 asilzheng:getLastKnownLocation是读上一次的纪录,看来你的机器没 02/21 23:56
3F:→ asilzheng:有,所以得到的location为null 02/21 23:56
4F:→ asilzheng:用requestLocationUpdates搭上LocationListener才能读取 02/21 23:58
5F:→ 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)