개발 가이드

Local Navigation

LocationProvider 클래스를 사용하여 위치 공급자 검색

  1. 필요한 클래스를 가져옵니다.
    import javax.microedition.location.*;
  2. 클래스와 생성자를 만듭니다.
    public class handleGPS
    {
       public handleGPS()
       {
       }
    }
  3. 생성자에서 Criteria 클래스의 인스턴스를 만듭니다.
    Criteria myCriteria = new Criteria();
  4. 생성자에서 지정된 GPS 모드를 사용하는 Criteria 객체를 구성합니다. 다음 코드 샘플에서 자치 모드는 setCostAllowed(false) 호출에 의해 지정됩니다.
    int myMode = 2; // AUTONOMOUS
    switch ( myMode )
    {
       case 0: // CELLSITE
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
          myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
          myCriteria.setCostAllowed(true);
          break;
       case 1: // ASSIST
          myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
          myCriteria.setHorizontalAccuracy(100);
          myCriteria.setVerticalAccuracy(100);
          myCriteria.setCostAllowed(true);
          break;
       case 2: // AUTONOMOUS
          myCriteria.setCostAllowed(false);
          break;
    }
  5. 생성자에서 try/catch 블록을 만듭니다. 블록 내에서 getInstance()를 호출하여 LocationProvider 객체를 만듭니다.
    try
    {
        LocationProvider myProvider =
            LocationProvider.getInstance(myCriteria);
    }
    catch ( LocationException lex )
    {
        return;
    }

코드 샘플: LocationProvider 클래스를 사용하여 위치 공급자 검색

import javax.microedition.location.*;
public class handleGPS
{
    public handleGPS()
    {
        Criteria myCriteria = new Criteria();
        int myMode = 2; // AUTONOMOUS
        switch ( myMode )
        {
            case 0: // CELLSITE
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
                myCriteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
                myCriteria.setCostAllowed(true);
                break;
            case 1: // ASSIST
                myCriteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_MEDIUM);
                myCriteria.setHorizontalAccuracy(100);
                myCriteria.setVerticalAccuracy(100);
                myCriteria.setCostAllowed(true);
                break;
            case 2: // AUTONOMOUS
                myCriteria.setCostAllowed(false);
                break;
        }
        try
        {
            LocationProvider myProvider = LocationProvider.getInstance(myCriteria);
        }
        catch ( LocationException lex )
        {
            return;
        }
    }
}

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.