0

エミュレーターで HOST GPU を確認し、現在の場所を取得しようとしましたが、エラーも結果も何も得られませんでした。

これが私のコードです。

package com.example.locationawareapp;

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.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

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

        currentloc = (TextView)findViewById(R.id.CurrentLocation);

        // Acquire a reference to the system Location Manager
        LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

        // Define a listener that responds to location updates
        LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {
              // Called when a new location is found by the network location provider.
              makeUseOfNewLocation(location);
            }
            public void onStatusChanged(String provider, int status, Bundle extras) {}

            public void onProviderEnabled(String provider) {}

            public void onProviderDisabled(String provider) {}
          };

        // Register the listener with the Location Manager to receive location updates
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
    }

    protected void makeUseOfNewLocation(Location location) {
        // TODO Auto-generated method stub

        currentloc.setText(new Double(location.getLatitude()).toString());
    }

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

}

誰でもこれを手に入れることができます。既存の質問のいくつかを既に確認しましたが、問題は解決していません。

よろしく、
Sourabh

4

1 に答える 1

0

私は答えを見つけました:

何が起こっているのか、何をする必要があるのか​​、そしてその理由を説明するために、私の理解を共有させてください。

エミュレーターには、使用できる組み込みの GPS ハードウェアはありませんが、LocationManager クラスとそのメソッドの実装は、位置情報を受信したときにそこでタスクを実行します。エミュレーターにはハードウェアが組み込まれていないため、エミュレーターで実行されているアプリケーションに緯度経度を提供する必要があります。コマンドラインの下で使用できる位置情報を提供する

telnet localhost 5554 
geo fix <longitude value> <latitude value>

私が使用した簡単な方法もあります.Eclipse UIを使用しています。つまり、DDMS機能をプラグインしてGPSを送信します。Eclipse で、ウィンドウ > パースペクティブを開く > DDMS に移動します。DDMS では、以下に示すような画像が見つかります。 GPS 用 DDMS のスクリーンショット

まず、eclipse の DDMS セクションに移動し、エミュレーター コントロールを開くよりも .... 手動セクションに移動して、緯度と経度を設定し、[送信] ボタンを押します。

これがあなたを助けることを願っています。

于 2013-07-22T14:09:20.900 に答える