在android中获取当前纬度和经度值
我正在尝试执行的操作:在日志中记录当前纬度和经度值 我所做的::我已将协调员推到android Emulator上 我无法执行的操作::我无法查看输出中的日志值在android中获取当前纬度和经度值,android,Android,我正在尝试执行的操作:在日志中记录当前纬度和经度值 我所做的::我已将协调员推到android Emulator上 我无法执行的操作::我无法查看输出中的日志值 MainActivity.java public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
MainActivity.java
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new Mylocationlistener();
boolean isGPS = lm
.isProviderEnabled(LocationManager.GPS_PROVIDER);
// If GPS is not enable then it will be on
if(!isGPS)
{
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
}
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
}
private class Mylocationlistener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
float speed = location.getSpeed();
double altitude = location.getAltitude();
Toast.makeText(MainActivity.this,"Latitude = "+
location.getLatitude() + "" +"Longitude = "+ location.getLongitude(),Toast.LENGTH_LONG).show();
Log.d("---Latitude - Log ",""+location.getLatitude());
Log.d("---Latitude - Log ",""+location.getLongitude());
}
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
更新
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.presentcityname"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.presentcityname.MainActivity"
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>
onLocationChanged(Location-Location)
在这个方法中,如果在emulator中运行应用程序,您将得到Location始终为null。您在哪里运行它???@user3243147…我在emulatorok中运行它在real Device上运行它,但在onLocationChanged()中多一个日志,就在if(Location!=null)的顶部跟踪在馈送位置时是否触发此回调。以及如何推送值?通过emulator控件的手动选项?如何在清单中添加此权限?你可以自己用emulator控件试试。不正确,如果他通过DDMS传递loc,它应该可以正常工作是的。。。。我已经通过DDMS传递了位置信息。。。是否有其他方法获取值。。。。。还有其他例子吗?@user2450263我们不知道他是如何传递位置的……如果他在该方法中放入一个日志,我们可以知道它是否为空。@Casper如果您还没有提到,请这样做,并确保您正在传递它correctly@user2450263.... 我引用了与你建议的帖子完全相同的帖子和代码