Android示例代码崩溃

时间:2013-03-30 19:32:47

标签: android google-maps-android-api-2

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

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

Here是我的logcat。什么可能导致这个问题?

非常感谢你。

编辑:

这是我的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

2 个答案:

答案 0 :(得分:2)

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

在此行中,getBestProvider正在返回null。这可能是因为用户已禁用所有可能的providers。您需要处理此案例,并且只有getLastKnownLocation非空时才会调用provider

答案 1 :(得分:0)

以下行为您的代码创建条件

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

来自关于默认构造函数的文档,

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. 

在下一行,您要求的提供商最符合上述要求

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

我猜他们没有这样的提供者,所以你的提供者是空的,最终你正在尝试这个

Location location = locationManager.getLastKnownLocation(null);

这就是你的代码崩溃的地方。