2

我在这个地址找到了谷歌地图教程。我下载了项目并更改了清单文件中的 API 授权代码。我连接了我的设备并尝试运行该应用程序,但它崩溃了。

我添加了 Google Play 服务库,我选择了 Google APIs (2.2)。

是我的日志。什么会导致这个问题?

已经非常感谢了。

编辑:

这是我的 MainActivity.java 文件:

package in.wptrafficanalyzer.locationingooglemapv2;

import android.app.Dialog;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
import android.widget.TextView;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;

public class MainActivity extends FragmentActivity implements LocationListener {

    GoogleMap googleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Getting Google Play availability status
        int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext());

        // Showing status
        if(status!=ConnectionResult.SUCCESS){ // Google Play Services are not available

            int requestCode = 10;
            Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode);
            dialog.show();

        }else { // Google Play Services are available   

            // Getting reference to the SupportMapFragment of activity_main.xml
            SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);

            // Getting GoogleMap object from the fragment
            googleMap = fm.getMap();

            // Enabling MyLocation Layer of Google Map
            googleMap.setMyLocationEnabled(true);               


             // Getting LocationManager object from System Service LOCATION_SERVICE
            LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);

            // Creating a criteria object to retrieve provider
            Criteria criteria = new Criteria();

            // Getting the name of the best provider
            String provider = locationManager.getBestProvider(criteria, true);

            // Getting Current Location
            Location location = locationManager.getLastKnownLocation(provider);

            if(location!=null){
                    onLocationChanged(location);
            }

            locationManager.requestLocationUpdates(provider, 20000, 0, this);
        }

    }


    @Override
    public void onLocationChanged(Location location) {

        TextView tvLocation = (TextView) findViewById(R.id.tv_location);

        // Getting latitude of the current location
        double latitude = location.getLatitude();

        // Getting longitude of the current location
        double longitude = location.getLongitude();     

        // Creating a LatLng object for the current location
        LatLng latLng = new LatLng(latitude, longitude);

        // Showing the current location in Google Map
        googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

        // Zoom in the Google Map
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));

        // Setting latitude and longitude in the TextView tv_location
        tvLocation.setText("Latitude:" +  latitude  + ", Longitude:"+ longitude );      

    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub      
    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub      
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub      
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

这是我的 LogCat:

03-30 21:18:24.042: D/dalvikvm(18745): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-30 21:18:24.042: W/dalvikvm(18745): VFY: unable to resolve instance field 23
03-30 21:18:24.042: D/dalvikvm(18745): VFY: replacing opcode 0x52 at 0x0012
03-30 21:18:24.042: D/dalvikvm(18745): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-30 21:18:24.102: W/dalvikvm(18745): Unable to resolve superclass of Lmaps/p/s; (425)
03-30 21:18:24.102: W/dalvikvm(18745): Link of class 'Lmaps/p/s;' failed
03-30 21:18:24.102: W/dalvikvm(18745): Unable to resolve superclass of Lmaps/y/bo; (3818)
03-30 21:18:24.102: W/dalvikvm(18745): Link of class 'Lmaps/y/bo;' failed
03-30 21:18:24.102: W/dalvikvm(18745): Unable to resolve superclass of Lmaps/i/k; (4206)
03-30 21:18:24.102: W/dalvikvm(18745): Link of class 'Lmaps/i/k;' failed
03-30 21:18:24.102: E/dalvikvm(18745): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-30 21:18:24.102: W/dalvikvm(18745): VFY: unable to resolve new-instance 3538 (Lmaps/i/k;) in Lmaps/z/ag;
03-30 21:18:24.102: D/dalvikvm(18745): VFY: replacing opcode 0x22 at 0x006d
03-30 21:18:24.102: D/dalvikvm(18745): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-30 21:18:24.252: D/dalvikvm(18745): GC_EXTERNAL_ALLOC freed 836K, 49% free 3313K/6471K, external 2458K/2773K, paused 26ms
03-30 21:18:24.272: E/Google Maps Android API(18745): Failed to load map.  Could not contact Google servers.
03-30 21:18:24.292: D/AndroidRuntime(18745): Shutting down VM
03-30 21:18:24.292: W/dalvikvm(18745): threadid=1: thread exiting with uncaught exception (group=0x40018560)
03-30 21:18:24.292: E/AndroidRuntime(18745): FATAL EXCEPTION: main
03-30 21:18:24.292: E/AndroidRuntime(18745): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationingooglemapv2/in.wptrafficanalyzer.locationingooglemapv2.MainActivity}: java.lang.IllegalArgumentException: provider==null
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1721)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.os.Looper.loop(Looper.java:130)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread.main(ActivityThread.java:3844)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at java.lang.reflect.Method.invokeNative(Native Method)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at java.lang.reflect.Method.invoke(Method.java:507)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at dalvik.system.NativeStart.main(Native Method)
03-30 21:18:24.292: E/AndroidRuntime(18745): Caused by: java.lang.IllegalArgumentException: provider==null
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at in.wptrafficanalyzer.locationingooglemapv2.MainActivity.onCreate(MainActivity.java:61)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-30 21:18:24.292: E/AndroidRuntime(18745):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
03-30 21:18:24.292: E/AndroidRuntime(18745):    ... 11 more
03-30 21:18:27.082: I/Process(18745): Sending signal. PID: 18745 SIG: 9
03-30 21:20:10.565: D/dalvikvm(18826): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-30 21:20:10.565: W/dalvikvm(18826): VFY: unable to resolve instance field 23
03-30 21:20:10.565: D/dalvikvm(18826): VFY: replacing opcode 0x52 at 0x0012
03-30 21:20:10.565: D/dalvikvm(18826): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-30 21:20:10.625: W/dalvikvm(18826): Unable to resolve superclass of Lmaps/p/s; (425)
03-30 21:20:10.625: W/dalvikvm(18826): Link of class 'Lmaps/p/s;' failed
03-30 21:20:10.625: W/dalvikvm(18826): Unable to resolve superclass of Lmaps/y/bo; (3818)
03-30 21:20:10.625: W/dalvikvm(18826): Link of class 'Lmaps/y/bo;' failed
03-30 21:20:10.625: W/dalvikvm(18826): Unable to resolve superclass of Lmaps/i/k; (4206)
03-30 21:20:10.625: W/dalvikvm(18826): Link of class 'Lmaps/i/k;' failed
03-30 21:20:10.625: E/dalvikvm(18826): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-30 21:20:10.625: W/dalvikvm(18826): VFY: unable to resolve new-instance 3538 (Lmaps/i/k;) in Lmaps/z/ag;
03-30 21:20:10.625: D/dalvikvm(18826): VFY: replacing opcode 0x22 at 0x006d
03-30 21:20:10.635: D/dalvikvm(18826): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-30 21:20:10.762: D/dalvikvm(18826): GC_EXTERNAL_ALLOC freed 835K, 49% free 3313K/6471K, external 2458K/2773K, paused 25ms
03-30 21:20:10.782: E/Google Maps Android API(18826): Failed to load map.  Could not contact Google servers.
03-30 21:20:10.792: D/AndroidRuntime(18826): Shutting down VM
03-30 21:20:10.792: W/dalvikvm(18826): threadid=1: thread exiting with uncaught exception (group=0x40018560)
03-30 21:20:10.792: E/AndroidRuntime(18826): FATAL EXCEPTION: main
03-30 21:20:10.792: E/AndroidRuntime(18826): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationingooglemapv2/in.wptrafficanalyzer.locationingooglemapv2.MainActivity}: java.lang.IllegalArgumentException: provider==null
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1721)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.os.Looper.loop(Looper.java:130)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread.main(ActivityThread.java:3844)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at java.lang.reflect.Method.invokeNative(Native Method)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at java.lang.reflect.Method.invoke(Method.java:507)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at dalvik.system.NativeStart.main(Native Method)
03-30 21:20:10.792: E/AndroidRuntime(18826): Caused by: java.lang.IllegalArgumentException: provider==null
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at in.wptrafficanalyzer.locationingooglemapv2.MainActivity.onCreate(MainActivity.java:61)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-30 21:20:10.792: E/AndroidRuntime(18826):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
03-30 21:20:10.792: E/AndroidRuntime(18826):    ... 11 more
03-30 21:21:04.912: D/dalvikvm(18897): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-30 21:21:04.932: W/dalvikvm(18897): VFY: unable to resolve instance field 23
03-30 21:21:04.932: D/dalvikvm(18897): VFY: replacing opcode 0x52 at 0x0012
03-30 21:21:04.932: D/dalvikvm(18897): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-30 21:21:05.012: W/dalvikvm(18897): Unable to resolve superclass of Lmaps/p/s; (425)
03-30 21:21:05.012: W/dalvikvm(18897): Link of class 'Lmaps/p/s;' failed
03-30 21:21:05.012: W/dalvikvm(18897): Unable to resolve superclass of Lmaps/y/bo; (3818)
03-30 21:21:05.012: W/dalvikvm(18897): Link of class 'Lmaps/y/bo;' failed
03-30 21:21:05.012: W/dalvikvm(18897): Unable to resolve superclass of Lmaps/i/k; (4206)
03-30 21:21:05.012: W/dalvikvm(18897): Link of class 'Lmaps/i/k;' failed
03-30 21:21:05.012: E/dalvikvm(18897): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-30 21:21:05.012: W/dalvikvm(18897): VFY: unable to resolve new-instance 3538 (Lmaps/i/k;) in Lmaps/z/ag;
03-30 21:21:05.012: D/dalvikvm(18897): VFY: replacing opcode 0x22 at 0x006d
03-30 21:21:05.022: D/dalvikvm(18897): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-30 21:21:05.162: D/dalvikvm(18897): GC_EXTERNAL_ALLOC freed 839K, 49% free 3313K/6471K, external 2458K/2773K, paused 26ms
03-30 21:21:05.182: E/Google Maps Android API(18897): Failed to load map.  Could not contact Google servers.
03-30 21:21:05.202: D/AndroidRuntime(18897): Shutting down VM
03-30 21:21:05.202: W/dalvikvm(18897): threadid=1: thread exiting with uncaught exception (group=0x40018560)
03-30 21:21:05.202: E/AndroidRuntime(18897): FATAL EXCEPTION: main
03-30 21:21:05.202: E/AndroidRuntime(18897): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationingooglemapv2/in.wptrafficanalyzer.locationingooglemapv2.MainActivity}: java.lang.IllegalArgumentException: provider==null
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1721)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.os.Looper.loop(Looper.java:130)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread.main(ActivityThread.java:3844)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at java.lang.reflect.Method.invokeNative(Native Method)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at java.lang.reflect.Method.invoke(Method.java:507)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at dalvik.system.NativeStart.main(Native Method)
03-30 21:21:05.202: E/AndroidRuntime(18897): Caused by: java.lang.IllegalArgumentException: provider==null
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at in.wptrafficanalyzer.locationingooglemapv2.MainActivity.onCreate(MainActivity.java:61)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-30 21:21:05.202: E/AndroidRuntime(18897):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
03-30 21:21:05.202: E/AndroidRuntime(18897):    ... 11 more
03-30 21:21:08.012: I/Process(18897): Sending signal. PID: 18897 SIG: 9
03-30 21:23:35.162: D/dalvikvm(18968): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-30 21:23:35.182: W/dalvikvm(18968): VFY: unable to resolve instance field 23
03-30 21:23:35.182: D/dalvikvm(18968): VFY: replacing opcode 0x52 at 0x0012
03-30 21:23:35.182: D/dalvikvm(18968): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-30 21:23:35.322: W/dalvikvm(18968): Unable to resolve superclass of Lmaps/p/s; (425)
03-30 21:23:35.322: W/dalvikvm(18968): Link of class 'Lmaps/p/s;' failed
03-30 21:23:35.322: W/dalvikvm(18968): Unable to resolve superclass of Lmaps/y/bo; (3818)
03-30 21:23:35.322: W/dalvikvm(18968): Link of class 'Lmaps/y/bo;' failed
03-30 21:23:35.322: W/dalvikvm(18968): Unable to resolve superclass of Lmaps/i/k; (4206)
03-30 21:23:35.322: W/dalvikvm(18968): Link of class 'Lmaps/i/k;' failed
03-30 21:23:35.322: E/dalvikvm(18968): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-30 21:23:35.322: W/dalvikvm(18968): VFY: unable to resolve new-instance 3538 (Lmaps/i/k;) in Lmaps/z/ag;
03-30 21:23:35.322: D/dalvikvm(18968): VFY: replacing opcode 0x22 at 0x006d
03-30 21:23:35.332: D/dalvikvm(18968): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-30 21:23:35.532: D/dalvikvm(18968): GC_EXTERNAL_ALLOC freed 839K, 49% free 3313K/6471K, external 2458K/2773K, paused 27ms
03-30 21:23:35.552: E/Google Maps Android API(18968): Failed to load map.  Could not contact Google servers.
03-30 21:23:35.572: D/AndroidRuntime(18968): Shutting down VM
03-30 21:23:35.572: W/dalvikvm(18968): threadid=1: thread exiting with uncaught exception (group=0x40018560)
03-30 21:23:35.572: E/AndroidRuntime(18968): FATAL EXCEPTION: main
03-30 21:23:35.572: E/AndroidRuntime(18968): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationingooglemapv2/in.wptrafficanalyzer.locationingooglemapv2.MainActivity}: java.lang.IllegalArgumentException: provider==null
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1721)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread.access$1500(ActivityThread.java:124)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.os.Handler.dispatchMessage(Handler.java:99)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.os.Looper.loop(Looper.java:130)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread.main(ActivityThread.java:3844)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at java.lang.reflect.Method.invokeNative(Native Method)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at java.lang.reflect.Method.invoke(Method.java:507)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at dalvik.system.NativeStart.main(Native Method)
03-30 21:23:35.572: E/AndroidRuntime(18968): Caused by: java.lang.IllegalArgumentException: provider==null
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1017)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at in.wptrafficanalyzer.locationingooglemapv2.MainActivity.onCreate(MainActivity.java:61)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-30 21:23:35.572: E/AndroidRuntime(18968):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1660)
03-30 21:23:35.572: E/AndroidRuntime(18968):    ... 11 more
4

2 回答 2

2
String provider = locationManager.getBestProvider(criteria, true);

在这条线上,getBestProvider正在返回null。这可能是因为用户已经禁用了所有可能的providers. 您需要处理这种情况,并且仅getLastKnownLocationprovider非空时调用。

于 2013-03-30T19:46:28.587 回答
0

以下几行在您的代码上创建标准

// Creating a criteria object to retrieve provider
        Criteria criteria = new Criteria();

from documentation which says about default constructor is following,

Constructs a new Criteria object. The new object will have no requirements on accuracy, power, or response time; will not require altitude, speed, or bearing; and will not allow monetary cost. 

And on the next line you are asking for provider which best matches requirement above

String provider = locationManager.getBestProvider(criteria, true);

I guess their no such provider exist so your provider is null and eventually you are trying this

Location location = locationManager.getLastKnownLocation(null);

and that is where your code is crashing.

于 2013-03-30T19:58:42.067 回答