Интерфейс Сервисов - PullRequest
       27

Интерфейс Сервисов

2 голосов
/ 01 июня 2011

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

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

Я не хочу, чтобы в моем приложении был какой-либо модуль запуска.

Пожалуйста, руководство!

Ответы [ 4 ]

1 голос
/ 01 июня 2011

Я предлагаю вам создать Activity, чтобы установить имя пользователя и пароль. Это не должно быть активностью запуска, доступной извне. Затем вы можете запустить его с помощью Intent и startActivity () из вашего сервиса.

Вы не сможете запустить действие для результата, поэтому вам потребуется обратный вызов в вашем сервисе для продолжения, когда заданы имя пользователя / пароль. Одна вещь, которую я сделал в какой-то момент, состояла в том, чтобы передать Messenger и использовать его для обратных вызовов. Я использовал это наоборот, от деятельности к обслуживанию, но я не понимаю, почему это не сработает в вашем случае.

1 голос
/ 01 июня 2011

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

Если вы ДЕЙСТВИТЕЛЬНО не хотите значок запуска, вы можете создать действие, которое будет запускаться с определенными намерениями, а затем отправлять эти намерения через ADB (см. Некоторыепримеры на Команды оболочки Adb для изменения настроек или выполнения задач на телефоне ) или вы можете реализовать какую-либо сетевую службу (запустить сервер telnet или http-сервер как часть вашей службы) и связаться с ним дляпусть она начнет управленческую деятельность.

0 голосов
/ 01 июня 2011

Что я понял из вашего вопроса, так это то, что вам нужно начать Activity с Service, если ниже приведен код, и не выполнять эту операцию как средство запуска вашего приложения.

Intent mIntent = new Intent(getBaseContext(), Activity.class);
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(mIntent);
0 голосов
/ 01 июня 2011

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

...