Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 定位程序中的崩溃_Android_Crash_Geolocation_Gps_Location - Fatal编程技术网

Android 定位程序中的崩溃

Android 定位程序中的崩溃,android,crash,geolocation,gps,location,Android,Crash,Geolocation,Gps,Location,根据书中的教程制作应用程序,但是有一些错误导致我的程序在未知的地方崩溃:logCat没有给出错误消息 所以我的位置类的代码是`: import android.app.Activity; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import

根据书中的教程制作应用程序,但是有一些错误导致我的程序在未知的地方崩溃:logCat没有给出错误消息 所以我的位置类的代码是`:

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.widget.TextView;

public class MainActivity extends Activity {

    private LocationManager myLocationManager;
    private LocationListener myLocationListener;
    private TextView myLatitude, myLongitude;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        myLatitude = (TextView)findViewById(R.id.textView1);
        myLongitude = (TextView)findViewById(R.id.textView2);



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

        myLocationListener = new MyLocationListener();

        myLocationManager.requestLocationUpdates(
                LocationManager.GPS_PROVIDER,
                0,
                0,
                myLocationListener);

        //Get the current location in start-up
        myLatitude.setText(String.valueOf(
            myLocationManager.getLastKnownLocation(
                LocationManager.GPS_PROVIDER).getLatitude()));

        myLongitude.setText(String.valueOf(
            myLocationManager.getLastKnownLocation(
               LocationManager.GPS_PROVIDER).getLongitude()));
    }

    private class MyLocationListener implements LocationListener{

        public void onLocationChanged(Location argLocation) {
        // TODO Auto-generated method stub
        myLatitude.setText(String.valueOf(
          argLocation.getLatitude()));
        myLongitude.setText(String.valueOf(
          argLocation.getLongitude()));
        }

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

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

        public void onStatusChanged(String provider,
         int status, Bundle extras) {
        // TODO Auto-generated method stub
        }
        };
}
我正在向清单文件添加下一个权限: 在Galaxy选项卡上启动应用程序后,我崩溃了,但几秒钟后,工具栏上出现了一个飞溅的图标“GPS” 来自调试程序的代码(如果有帮助)

DalvikVM[localhost:8624]
线程[main](挂起(异常运行时异常))
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2663
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2679
ActivityThread.access$2300(ActivityThread,ActivityThread$ActivityRecord,Intent)行:125
ActivityThread$H.handleMessage(消息)行:2033
ActivityThread$H(处理程序)。dispatchMessage(消息)行:99
Looper.loop()行:123
ActivityThread.main(字符串[])行:4627
invokenactive(Object,Object[],Class,Class[],Class,int,boolean)行:不可用[本机方法]
调用(对象,对象…)行:521
ZygoteInit$MethodAndArgsCaller.run()行:868
颧骨单位。主(字符串[])行:626
NativeStart.main(字符串[])行:不可用[本机方法]
螺纹[活页夹螺纹#2](运行)
螺纹[活页夹螺纹#1](运行)
这是以下几行:

//Get the current location in start-up
myLatitude.setText(String.valueOf(
myLocationManager.getLastKnownLocation(
LocationManager.GPS_PROVIDER).getLatitude()));
导致空指针


在触发onLocationChanged()之前,最后一个已知位置将为空。请在此处发布错误代码。但是,当我清除此代码崩溃时,不要停止=(请告诉我在这种情况下,对于代码的正常工作,会发生什么变化
//Get the current location in start-up
myLatitude.setText(String.valueOf(
myLocationManager.getLastKnownLocation(
LocationManager.GPS_PROVIDER).getLatitude()));