[英]Android - error when try to test GPS on Emulator
我想測試一下在android上使用GPS的簡單簡介。 所以我寫一個這樣的簡單代碼:
public class main extends Activity{
LocationManager mLocationManager;
TextView tv;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)findViewById(R.id.myLocationText);
mLocationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.POWER_LOW);
String locationprovider = mLocationManager.getBestProvider(criteria, true);
Location mLocation = mLocationManager.getLastKnownLocation(locationprovider);
tv.setText("Last location lat:" + mLocation.getLatitude() + "long:" + mLocation.getLongitude());
}
}
另外,在AndroidManifest上我添加了use-permission,如下所示:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
但是當我嘗試在Android模擬器上運行時,我得到錯誤“意外停止”並關閉此應用程序。 我也加入了DDMS的嘗試。 但我對這個錯誤一無所知。
我在實際設備中也遇到過類似的問題。 聽眾接收新位置的頻率太高,無法更新我的TextViev。 我通過一些同步解決了它,如果當時正在刷新,則跳過View刷新。
在你的情況下,因為你沒有使用監聽器,我會檢查NullPointerExceptions
。
您可能沒有將Android API用於Android模擬器,這就是為什么您無法訪問GoogleMapAPı並遭遇類似崩潰的原因。
有關設置模擬器以使用地圖的詳細信息,請查看此信息。
http://code.google.com/android/add-ons/google-apis/maps-overview.html
這是因為您從模擬器中使用它並且它沒有任何與gps相關的硬件。
這是一個解決方案
要從命令行發送模擬位置數據:
在Android模擬器中啟動您的應用程序,並在SDK的/ tools目錄中打開終端/控制台。 連接到模擬器控制台:
telnet localhost <console-port>
發送位置數據:geo fix以發送固定的地理位置。 此命令接受十進制度的經度和緯度,以及米的可選高度。 例如:
geo fix -121.45356 46.51119 4392
geo nmea發送NMEA 0183句子。 此命令接受單個“$ GPGGA”類型的NMEA語句(修復數據)或“$ GPRMC”(傳輸數據)。 例如:
geo nmea $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62
來源: http : //developer.android.com/guide/topics/location/obtaining-user-location.html
另請參閱此鏈接: http : //developer.android.com/guide/developing/devices/emulator.html#console
這是一個API KEY
問題。 你可以嘗試申請一個新的API KEY
在谷歌地圖API密鑰。
您的代碼是正確的,沒有顯示任何錯誤。
也許這個答案可以幫助您解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.