2011-08-04 21 views
0

私はエミュレータ上でこのコードを実行しよう:このGPS関連のAndroidコードはなぜ機能しませんか?

package andr.andr; 

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.Toast; 

public class Gpstest2Activity extends Activity 
{ 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    LocationListener mlocListener = new MyLocationListener(); 
    mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 
} 
public class MyLocationListener implements LocationListener 
{ 
    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(); 
    } 
    public void onProviderDisabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT).show(); 
    } 
    public void onProviderEnabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show(); 
    } 
    public void onStatusChanged(String provider, int status, Bundle extras) 
    { 
    } 
} 
} 

、ここでは私のマニフェストです:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="andr.andr" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="10" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS"></uses-permission> 
<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".Gpstest2Activity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

私の問題は、このコードだけで実行しない、ということです。私は "DDMS"と "geo fix"を通してgpsデータを送信しようとしましたが、何も起こっていません。ときどきエミュレータがオフになります。誰がそのコードで何が間違っているか知っていますか?助けてくれてありがとう。

+0

エラーまたは例外を通知します。 「それはただ走っていない」ということは何を意味しますか?それはそれが始まらないことを意味しますか?またはエラーまたは例外がありますか? – Jack

+0

私は混乱しています、ちょうどあなたのコードをテストした、それはうまく動作します! – iDroid

答えて

2

コードに間違いはありません。エミュレータでGPSを有効にしましたか? logcatにエラーがないかチェックしましたか?

+0

私は同じ問題を抱えていますが、私は同じコードを使用していますが、私のために怒鳴りません。また、私はemulator.pleaseにgpsサポートを追加しました。 – Shruti

1

Googleマップレベル8 APIより高いエミュレータで実行している場合は、geo fixを使用して場所を渡す際に問題が発生します。どのようなタイプを使用していますか?

1

デバイスで実行し、同じエラーが表示されることを確認します。もしそうなら、あなたのコードを変更してください。あなたの問題は、あなたがエミュレータでテストしていることだと思います。

エミュレータはGPSを使用して位置情報を取得できません。

+0

はい:telnet localhost 5554と引数を渡してgeo fixを使用することができます。例:geo fix 25.3 27.1 –

+0

DDMSから静的ポイントを渡すことはできますか? – anddev

+0

エミュレータコントロール - >ロケーションコントロール - >マニュアル –

関連する問題