当我尝试通过DDMS将模拟器gps协调发送到Android模拟器时,我遇到了一些问题。
我创建了一个非常简单的演示代码:
// gps.java
package com.trackingsolutions.gps;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
public class GPS extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
String lat = String.valueOf(location.getLatitude());
String lon = String.valueOf(location.getLongitude());
Log.i("NOTIFICATION","onLocationChenged Triggered");
Toast.makeText(GPS.this,"location changed: lat="+lat+", lon="+lon, Toast.LENGTH_LONG).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
}
我记得在AndroidManifest.xml上启用了对gps的访问:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
当我尝试在模拟器上测试代码时,我打开了两个调试标记:
在设备标签上,我可以看到com.trackingsolutions.gps已启动并运行,我点击绿色符号使其激活以进行调试。
然后在仿真器控制标签上,我可以看到测试信息为:经度:-122.084095,纬度:37.422006。
这是我的问题,每次点击发送按钮,所有正在运行的进程都包含我的gps应用程序崩溃。锁定的感觉。
我尝试使用telnet发送gps修复程序,它仍然是相同的。
整天都很沮丧,有人能给我一些想法吗?非常感谢提前。
BTW,我选择的构建目标是:Google API,平台2.3.3,API级别10。