-1

これはアンドロイドの私のコードで、エラーが表示されています。何が悪いのかわかりませんが、LocationManagerその行までは正常に動作するため、何かをしなければならないことは確かです。

  public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Log.d("Exception", "Something gone wrong !! ");

/*after this line it shows error */

        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
        Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
        double longitude = location.getLongitude();
        double latitude = location.getLatitude();

私が今欲しいのは、経度と緯度の値を表示して、ここまでコードが適切であることを確認できるようにすることだけです。

4

2 に答える 2

0

以下のコードスニペットを使用

public void onCreate(Bundle savedInstanceState)
{
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  /* Use the LocationManager class to obtain GPS locations */
  LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

  LocationListener mlocListener = new MyLocationListener();
  mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}

/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{

  @Override
  public void onLocationChanged(Location loc)
  {

    loc.getLatitude();
    loc.getLongitude();

    String Text = "My current location is: " +
    "Latitud = " + loc.getLatitude() +
    "Longitud = " + loc.getLongitude();

    Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onProviderDisabled(String provider)
  {
    Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();
  }

  @Override
  public void onProviderEnabled(String provider)
  {
    Toast.makeText( getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onStatusChanged(String provider, int status, Bundle extras)
  {

  }
}

マニフェストファイルの以下の行を確認してください

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
于 2012-07-30T12:06:31.817 に答える
0

この変数を宣言する

 Location loc;

このコードを Oncreate() メソッドに記述します

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

LocationListener mlocListener = new MyLocationListener();

mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

次に書く

loc.getLatitude();
loc.getLongitude();

これで、緯度と経度の値を使用できます... :-)

于 2012-07-30T12:59:48.047 に答える