相关疑难解决方法(0)

Android - 无法在模拟器上获取gps位置

我想在Android模拟器上使用gps,我有以下代码:

public class NL extends Activity {

 private LocationManager locmgr = null;

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.nl);

        locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        Criteria crit = new Criteria();
        crit.setAccuracy(Criteria.ACCURACY_FINE);
        String provider = locmgr.getBestProvider(crit, true);
        Location loc = locmgr.getLastKnownLocation(provider);


        Toast msg = Toast.makeText(this, "Lon: " + Double.toString(loc.getLongitude()) + " Lat: " + Double.toString(loc.getLatitude()), Toast.LENGTH_SHORT);
        msg.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我在清单上添加了以下行:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)

并且我使用DDMS方法和geo fix方法设置gps位置,但是当我运行代码时,我在Toast行获得NullPointerExeption,可能导致loc为null.

我不明白错误在哪里......你能帮帮我吗?


UPDATE!

感谢您的帮助,现在我使用以下代码,我没有得到任何错误,但它没有运行onChangeLocation内的代码...它不运行Toast并且不返回日志中的任何消息!

 public class NL extends Activity {

        private LocationManager locmgr = null;

        @Override
        public void …
Run Code Online (Sandbox Code Playgroud)

java gps android android-emulator

8
推荐指数
2
解决办法
2万
查看次数

模拟器上的GPS无法获得地理定位 - Android

我正在为Android操作系统开发一个应用程序,我刚开始,但我无法在模拟器上运行GPS.我已经在互联网上读到你需要向模拟器发送地理定位以启用gps locationProvider.我都在使用DDMS和telnet来尝试发送它,但是logcat从未告诉我它已经恢复了一个新的修复程序,而我的apolication仍然认为gps是禁用的

这是我的代码

package eu.mauriziopz.gps;

import java.util.Iterator;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;

public class ggps extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        LocationManager l =(LocationManager) getSystemService(Context.LOCATION_SERVICE);
        List<String> li = l.getAllProviders();
        for (Iterator<String> iterator = li.iterator(); iterator.hasNext();) {
            String string =  iterator.next();
            Log.d("gps", string);
        }
        if (l.getLastKnownLocation("gps")==null)
            Log.d("gps", "null");   
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经读过DDMS可能无法在非英语操作系统上正常工作,但telnet应该可以工作!

更新:在设置中启用了gps

eclipse gps android

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×2

gps ×2

android-emulator ×1

eclipse ×1

java ×1