android - 模拟器控制android被禁用

标签 android eclipse google-maps genymotion

我正在使用 Google map v2,我想确定我的位置。我使用 Genymotion 模拟器。我需要在我的测试设备上激活 GPS。如果我正在模拟器上进行测试,并且在我尝试使用 LocationManager 时它没有激活“null”。我正在使用 Eclipse 的“DDMS”透视图将地理位置发送到模拟器。 Window → Open Perspective → Other... → DDMS。但是所有字段都不可点击。

我做了 Breadbin 说的,但我仍然有空指针异常 enter image description here

`

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
    map.setMyLocationEnabled(true);
    LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider =  locationManager.getBestProvider(criteria, true);
    Location myLocation = locationManager.getLastKnownLocation(provider);
    map.setMapType(GoogleMap.MAP_TYPE_HYBRID);
    double latitude = myLocation.getLatitude();
    double longitude = myLocation.getLongitude();
    LatLng latLng = new LatLng(latitude, longitude);
    map.moveCamera(CameraUpdateFactory.newLatLng(latLng));
    map.animateCamera(CameraUpdateFactory.zoomTo(20));
    map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("You are here"));
    }`
11-20 04:28:48.056: D/dalvikvm(1645): GC_FOR_ALLOC freed 226K, 2% free 16823K/17076K, paused 7ms, total 7ms
11-20 04:28:48.332: D/dalvikvm(1645): GC_FOR_ALLOC freed 309K, 2% free 17029K/17364K, paused 7ms, total 7ms
11-20 04:28:48.412: D/dalvikvm(1645): GC_FOR_ALLOC freed 260K, 2% free 17282K/17568K, paused 6ms, total 6ms
11-20 04:28:48.496: D/dalvikvm(1645): GC_FOR_ALLOC freed 109K, 2% free 17546K/17784K, paused 10ms, total 10ms
11-20 04:28:48.540: D/dalvikvm(1645): GC_FOR_ALLOC freed 28K, 1% free 17906K/18084K, paused 6ms, total 6ms
11-20 04:28:48.540: D/AndroidRuntime(1645): Shutting down VM
11-20 04:28:48.540: W/dalvikvm(1645): threadid=1: thread exiting with uncaught exception (group=0xa4c49648)
11-20 04:28:48.544: E/AndroidRuntime(1645): FATAL EXCEPTION: main
11-20 04:28:48.544: E/AndroidRuntime(1645): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.Mymaps/com.example.Mymaps.MainActivity}: java.lang.NullPointerException
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.os.Looper.loop(Looper.java:137)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread.main(ActivityThread.java:5103)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at java.lang.reflect.Method.invokeNative(Native Method)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at java.lang.reflect.Method.invoke(Method.java:525)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at dalvik.system.NativeStart.main(Native Method)
11-20 04:28:48.544: E/AndroidRuntime(1645): Caused by: java.lang.NullPointerException
11-20 04:28:48.544: E/AndroidRuntime(1645):     at com.example.Mymaps.MainActivity.onCreate(MainActivity.java:33)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.Activity.performCreate(Activity.java:5133)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-20 04:28:48.544: E/AndroidRuntime(1645):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
11-20 04:28:48.544: E/AndroidRuntime(1645):     ... 11 more
11-20 04:28:48.840: W/ActivityThread(1645): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());
11-20 04:45:28.501: W/ActivityThread(3967): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());

最佳答案

如果您使用 genymotion,您可以使用 genymotion 设置模拟位置。 IE。模拟器侧面有一个按钮,您可以在其中打开 GPS 并在 map 上设置精度和模拟位置

关于android - 模拟器控制android被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078646/

相关文章:

android - 相对于设备的移动方向旋转谷歌地图(android)

java - Google Play 服务位置监听器未被调用,但程序仍需要它才能工作?

java - 检查 ArrayList<> 是否包含对象不起作用

android - Ionic/Cordova 不更新 Android 版本代码

android - 连接 BTooth 模块时上传 Arduino 程序 avrdude : stk500_getsync(): not in sync: resp=0x45

java - Eclipse 在尝试自动填充选项以填充方法时崩溃

eclipse - 更改 JUnit Eclipse 插件中单元测试的显示名称

android - 使用 Android 应用程序启动应用程序或文件

android - android应用崩溃

java - 如何在 Java Android 的 onLocationChanged 中播放一次 MediaPlayer?