Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Внутренний GPS, определить программно 
:(
    Опции темы
Antropoid
Дата 15.8.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



Привет!

Как программно узнать, есть ли в телефоне внутренний GPS, или нет?


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
eugine_s
Дата 15.8.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Я думаю, можно попробовать начать с 

System.getProperty("microedition.location.version");


Identification of the Location API

To enable applications to test for the presence of the Location API and its version during runtime, a system property is defined. Platforms where this API is implemented according to this specification shall include a system property with a key "microedition.location.version". When System.getProperty is called with this key, implementations conforming to this specification shall return the version string "1.0". 

PM MAIL   Вверх
Antropoid
Дата 15.8.2008, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



eugine_s, спасибо за ответ!
Этот способ используется для определения Location API на борту, а потому будет не уместен для меня, т.к. будет отвечать лишь на вопрос наличия этого API, а оно присутствует и у девайсов без внутреннего GPS.


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
MoZy
Дата 18.8.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 4.6.2006

Репутация: нет
Всего: 0



попробовать обратиться через АПИ? может в самом апи есть функции?
--------------------
Experimentia est optima rerum magistra
PM MAIL WWW ICQ   Вверх
Antropoid
Дата 18.8.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 786
Регистрация: 1.6.2006
Где: &Ukraine==Ode ssa

Репутация: 13
Всего: 16



MoZy, к сожалению нету


--------------------
user posted image
Задыхаясь от восторга заниматься чепухой. 
PM MAIL   Вверх
F1DEvELoP
Дата 27.3.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.3.2009

Репутация: нет
Всего: нет



Тогда отпишитесь здесь, у кого реально железо GPS есть на теле, а то API может и есть, но только от API ??

Код

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package hello;


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.location.*;

public class loctest extends MIDlet implements CommandListener
{
    private Display display;
    private Form form;
    private Command cmdExit,cmdOK;
    private StringItem si;

    public loctest()
    {

        display =Display.getDisplay(this);
        form = new Form("Location Api test");
        cmdExit = new Command("Exit",Command.EXIT,5);
        cmdOK = new Command("OK",Command.OK,1);
        si = new StringItem("Geo Location", "Click OK");
        form.append(si);
        form.addCommand(cmdOK);
        form.addCommand(cmdExit);
        form.setCommandListener(this);

    }

    public void startApp()
    {
    String value = System.getProperty( "microedition.configuration" );
        form.append("\nCLDC: " + value);
        String value2 = System.getProperty( "microedition.location.version" );
        form.append("\nLOCvers: " + value2);
        display.setCurrent(form);
    }


    public void pauseApp()
    {

    }

    public void destroyApp(boolean flag) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d)
    {
        if (c == cmdOK){
            Retriever ret = new Retriever(this);
            ret.start();

        } else if (c == cmdExit) {
            destroyApp(false);
        }
    }

    public void displayString(String string)
    {
        si.setText(string);
    }
}

class Retriever extends Thread {

    private loctest midlet;

        public Retriever(loctest midlet)
        {
            /**
              * Constructor
              *
              * EFFECTS: Initialise the server and store midlet information
              *
              * @param midlet The main application midlet
              * @param server Forecast Server URL
              *
              */
            this.midlet = midlet;

    }

    public void run()
        {
            /**
            * Entry point of the thread
            *
            * EFFECTS: call to connect() method
            */
            try {
                            checkLocation();
                        } catch (Exception ex)
                        {
                            ex.printStackTrace();
                            midlet.displayString(ex.toString());
            }
        }

    public void checkLocation() throws Exception
    {
        String string;
        Location l;
        LocationProvider lp;
        Coordinates c;
        // Set criteria for selecting a location provider:
        // accurate to 500 meters horizontally
        Criteria cr= new Criteria();
        cr.setHorizontalAccuracy(500);

        // Get an instance of the provider
        lp= LocationProvider.getInstance(cr);

        // Request the location, setting a one-minute timeout
        l = lp.getLocation(60);
        c = l.getQualifiedCoordinates();

        if(c != null ) {
          // Use coordinate information
          double lat = c.getLatitude();
          double lon = c.getLongitude();
          string = "\nLatitude : " + lat + "\nLongitude : " + lon;

        } else {
            string ="Location API failed";
        }
        midlet.displayString(string);
    }
}


на siemens  запустилось
проверку на проперти я сам добавил
После нажатия ОК - спросила "активировать локальный сервис?"
Я ответил - для сессии
а в ответ тишина....оно хоть быстро определяеть то или как?

Это сообщение отредактировал(а) F1DEvELoP - 27.3.2009, 15:23
PM MAIL ICQ   Вверх
eugine_s
Дата 27.3.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(F1DEvELoP @  27.3.2009,  15:18 Найти цитируемый пост)
а в ответ тишина....оно хоть быстро определяеть то или как?


Что значит тишина? 
Даже "Location API failed" в StringItem не добаляет? 

При "холодном" старте GPS приемник может долго включаться (до 10-12 минут).

У тебя стоит тайм-аут 1 минута - так что если в форму ничего не добавляется, то похоже что приложение где-то подвисает.


PM MAIL   Вверх
F1DEvELoP
Дата 27.3.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.3.2009

Репутация: нет
Всего: нет



Точно, поставлю таймаут минут на пять. просто жуть как интересно

ДА, даже в StringItem  ничего - кроме как эксепшн - таймаут

Холодный старт? (смешно, но может на батарею тело положить? ))))
PM MAIL ICQ   Вверх
eugine_s
Дата 27.3.2009, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(F1DEvELoP @  27.3.2009,  16:45 Найти цитируемый пост)
ДА, даже в StringItem  ничего - кроме как эксепшн - таймаут


smile 
Ничего себе "ничего кроме". Тебе выдало причину почему не работает, а ты пишешь "ничего".

Цитата(F1DEvELoP @  27.3.2009,  16:45 Найти цитируемый пост)
Холодный старт? (смешно, но может на батарею тело положить? )))) 


Горячий и холодный старт
Чтобы ускорить можно использовать AGPS (подключается только через меню телефона).
PM MAIL   Вверх
F1DEvELoP
Дата 27.3.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.3.2009

Репутация: нет
Всего: нет



Цитата

может занимать от 5 до 20 минут.

я почти угадал.....про пять минут )))

А про включение AGPS на Siemens C75 -это где его тыкать?

------------------------
http://4pda.info/index.php?newsid=4730
печально, оператор может не давать такую инфу (((

А если и давать, то за очень БАЛЬШИе бабки
http://4pda.info/index.php?newsid=7963

Это сообщение отредактировал(а) F1DEvELoP - 27.3.2009, 17:18
PM MAIL ICQ   Вверх
eugine_s
Дата 27.3.2009, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(F1DEvELoP @  27.3.2009,  17:11 Найти цитируемый пост)
А про включение AGPS на Siemens C75 -это где его тыкать?


А что у телефона GPS есть? 
Нигде. У него нет такого.

Для этого нужно телефончики поновее.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0809 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.