[英]Android GPS app not working on Emulator
我沒有成功嘗試讓GPS位置適用於Android下的應用程序。 我想知道我可能做錯了什么。 到目前為止,我嘗試了以下方法:
以及其他許多人,但都是徒勞的。
考慮到上面的所有解決方案都適用於某些人,我將使用此解決方案進行調試:
package my.namespace;
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 HomeActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
}
private class mylocationlistener implements LocationListener {
public void onLocationChanged(Location location) {
if (location != null) {
Log.d("LOCATION CHANGED", location.getLatitude() + "");
Log.d("LOCATION CHANGED", location.getLongitude() + "");
Toast.makeText(HomeActivity.this,
location.getLatitude() + "" + location.getLongitude(),
Toast.LENGTH_LONG).show();
}
}
public void onProviderDisabled(String provider) {
}
public void onProviderEnabled(String provider) {
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
}
在onProviderDisabled
, onProviderEnabled
和onStatusChanged
有3個方法的@override
注釋。 我不得不刪除它們,因為Eclipse給出了一個錯誤,即這些方法不會覆蓋超類。
我已在清單文件中添加了權限( ACCESS_FINE_LOCATION
, ACCESS_MOCK_LOCATION
, ACCESS_COARSE_LOCATION
和INTERNET
)。
有誰知道我可能做錯了什么?
編輯:在模擬器上運行(Android 2.2 API 8)
確保在測試應用時啟用GPS。 如果您同時使用NETWORK_PROVIDER和GPS_PROVIDER,它也會有所幫助。 因此,當GPS不可用時,您仍然可以使用NETWORK_PROVIDER獲取該位置。
更新:此外,如果您使用模擬器測試您的應用程序,請確保您從命令行或使用Eclipse模擬GPS修復。 這里有一個關於如何執行此操作的stackoverflow問題的鏈接如何在Android模擬器中模擬GPS位置?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.