Значок приложения BlackBerry для автозапуска и альтернативной точки входа по умолчанию - PullRequest
0 голосов
/ 20 января 2011

У меня есть приложение, которое регистрирует свою горячую точку на автозапуске с альтернативной точкой входа и на фактической точке входа (при щелчке значка приложения), оно выдвигает интерфейс приложения.

Фактическая точка входа- свойства проекта: * Тип проекта: приложение BlackBerry и * добавленный значок приложения

Альтернативная точка входа - свойства проекта: * Тип проекта: альтернативная точка входа Blackberry Application * Альтернативная точка входаfor: "фактический проект" * Аргумент передан main: wificlient * Системный модуль проверен * Автоматический запуск проверен * и значок не добавлен

Когда я запускаю приложение appln на устройстве, запускается альтернативная точка входаЗапускает и регистрирует клиент горячей точки, но добавляет значок по умолчанию с именем проекта (имя файла .jdp) в фоновом списке приложений.Я не хочу, чтобы какой-либо значок отображался для альтернативной точки входа.

Когда я нажимаю значок приложения в папке загрузки, приложение нажимает на экран интерфейса пользователя, и теперь, если я вижу фоновый список приложений, я вижузначок моего приложения с указанным именем приложения и значок приложения по умолчанию с именем моего проекта альтернативной точки входа.Так как отключить этот значок по умолчанию для отображения в фоновом списке приложений для альтернативной точки входа.

Пожалуйста, дайте мне знать, если я что-то упустил, и помогите мне с этим.

Вот мойкод:

class WiFiApplication extends UiApplication
{
    public static void main(String[] args)
    {
        if( args != null && args.length > 0 &&
            args[0].equals("wificlient"))
        {
            //Register the Hotspotclient
            AddRemoveClient.registerHotspotClient();
            WiFiApplication app = new WiFiApplication();
            app.enterEventDispatcher();
        }
        else
        {
            new WiFiApplication().pushUI();
        }
    }

    WiFiApplication() {
    }

    pushUI()
    {
        pushScreen(new WLANScreen());
        enterEventDispatcher();
    }
}

1 Ответ

2 голосов
/ 12 апреля 2011

Я не уверен, что это полностью ответит на ваш вопрос, поскольку я новичок в альтернативных точках входа, но я создал фоновое приложение, которое не использует альтернативные точки входа и выйдет на передний план в том же путь как твой.

В моем методе main () я не вызываю конструктор напрямую, у меня есть метод getInstance (), который применяет шаблон Singleton в приложении - другими словами, если он уже работает в фоновом режиме, он выводится вперед.

/**
 * Returns a Demo application. If Demo has not been started yet, it is
 * started. If it is already running, this method returns the running
 * instance. In this way, only one copy of the Demo application can ever
 * be running.
 * 
 * @return a running instance of the {@link DemoApp}
 */
public static DemoApp getInstance()
{
    // check if Demo is already running in the background
    RuntimeStore runtimeStore = RuntimeStore.getRuntimeStore();
    DemoApp runningInstance = (DemoApp) runtimeStore
        .get(GlobalConstants.Demo_APPLICATION_INSTANCE_ID);

    // if not running, create the app, and store it as an object in the
    // RuntimeStore
    if (runningInstance == null)
    {
        runningInstance = new DemoApp();
        runtimeStore.put(GlobalConstants.Demo_APPLICATION_INSTANCE_ID,
            runningInstance);
    }

    return runningInstance;
}

Я определяю Demo_APPLICATION_INSTANCE_ID как длинный хеш com.demo.app (с некоторым уникальным именем).

Сохраняет копию запущенного приложения в RuntimeStore.

Наконец, я не реализовал часть сокрытия фонового приложения от переключателя задач, так как хотел иметь возможность переключиться на него. Но если это то, что вы пытаетесь сделать, перейдите по этой ссылке: http://davidjhinson.wordpress.com/2010/08/24/hiding-blackberry-background-processes/

НТН

...