2012-05-31 2 views
-1

이클립스의 Android AVD에 에뮬레이트 GPS 데이터를 보내는 데 문제가있는 사람을 도와 줄 수 있기를 바랍니다. 실제 장치에서 응용 프로그램을 실행하면 모든 것이 정상적으로 작동하지만 Eclipse에서 기본 제공되는 에뮬레이터를 사용하려고하면 아무 일도 일어나지 않습니다. 또한 AVD로 telneting 시도하고 geo fix 명령을 실행했습니다. 그것은 실제 장치안드로이드로 GPS 데이터 시뮬레이션하기 AVD가 작동하지 않음

매니페스트 파일에

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="net.TestGoogleMaps" 
android:versionCode="1" 
android:versionName="1.0" > 
    <uses-sdk android:targetSdkVersion="10" android:minSdkVersion="8"/> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" > 
    <activity 
     android:name=".TestingGoogleMapsActivity" 
     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> 
</manifest> 

main.xml에

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
</LinearLayout> 

를 작동하는 경우 다음은 내가 생각하지 않지만 사용하고있는 코드는 문제 있나요이다 주요 코드

package net.TestGoogleMaps; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.location.Criteria; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Toast; 

public class TestingGoogleMapsActivity extends Activity 
{ 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
     { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     LocationManager locationManager; 
     String context = Context.LOCATION_SERVICE; 
     locationManager = (LocationManager)getSystemService(context); 
     Criteria criteria = new Criteria(); 
     criteria.setAccuracy(Criteria.ACCURACY_FINE); 
     criteria.setAltitudeRequired(false); 
     criteria.setBearingRequired(false); 
     criteria.setCostAllowed(true); 
     criteria.setPowerRequirement(Criteria.POWER_LOW); 
     String provider = locationManager.getBestProvider(criteria, true); 

     Location location = locationManager.getLastKnownLocation(provider); 


     updateWithNewLocation(location); 


     locationManager.requestLocationUpdates(provider, 2000, 10,  
               locationListener); 
    } 



    private final LocationListener locationListener = new LocationListener() { 
     public void onLocationChanged(Location location) { 
      updateWithNewLocation(location); 
     } 

     public void onProviderDisabled(String provider){ 
      updateWithNewLocation(null); 
     } 

     public void onProviderEnabled(String provider){ } 
     public void onStatusChanged(String provider, int status, 
            Bundle extras){ } 
     }; 




    public void updateWithNewLocation(Location location) 
    { 

     Context contextApp = getApplicationContext(); 

     String text ; 
     int duration = 2000; 

     if(location == null) 
     { 
      text ="Null Location"; 

     } 
     else 
     { 
      text = "Lat : " + location.getLatitude() + " Lon: " + location.getLongitude(); 
     } 

     Toast toast = Toast.makeText(contextApp, text, duration); 
     toast.show(); 
    } 
} 

GPS 데이터를 시뮬레이트 할 때 다음과 같은 오류가 발생합니다. f 이클립스의 LogCat 탭에있는 장치에 rom eclipse.

05-31 02:31:35.158: E/InputQueue-JNI(347): channel '406e6640 net.TestGoogleMaps/net.TestGoogleMaps.TestingGoogleMapsActivity (client)' ~ Publisher closed input channel or an error occurred. events=0x8 

모든 도움을 주시면 감사하겠습니다.

+1

다른 곳에서도이 글을 읽었습니다. 나는 이것이 알려진 버그라고 생각한다. [출처] (http://code.google.com/p/android/issues/detail?id=13046) –

답변

2
나는 당신의 문제, 당신은

에서 수동으로 현재 (긴/지연)를 설정

DDMS-> 장치 -> 에뮬레이터 조절 -> 위치 Controls-> Manual-> 입력 (롱/지연) 및 보낼 수있는 알려진

0

Tanvir Ahmed의 말처럼, its a bug (Source)처럼 보입니다. 나는 또한 이것을 하루 동안 지금 발견했습니다. AVM에 'Android 2.3.3'대신 'Google API - API 레벨 10'을 사용 해보세요.

관련 문제