Android - Как выполнить основной функционал проекта только нажав на иконку приложения? - PullRequest
3 голосов
/ 06 апреля 2011

Я создаю приложение и должен выполнять его основные функции только путем нажатия на его значок.

Другими словами, нет макета, нет виджета, он просто работает.

Как только пользователь щелкнетна значке он должен выполнить свои основные функции.Один из способов, о котором я думаю, - поместить весь код в функцию onCreate.

Или, если есть какой-либо другой способ, поделитесь со мной.

Ответы [ 2 ]

6 голосов
/ 06 апреля 2011

У вас должна быть активность, которую запускает пользователь. Эта активность может просто вызывать finish () к тому времени, когда она возвращается из onResume (), чтобы она не отображалась (вам также нужно установить android: theme = "@ android: style / Theme.NoDisplay"). Фактическая работа может происходить в onCreate () или подобном из действия, если оно очень короткое, в противном случае вам потребуется запустить службу, которая позаботится о выполнении работы в своем потоке.

ОДНАКО.

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

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

1 голос
/ 06 апреля 2011

Если вы просто хотите выполнить какую-то работу в фоновом режиме, вы можете использовать Сервис, это может быть вызвано в методе onCreate действия.В противном случае вы можете использовать поток для выполнения требуемой задачи и снова запустить этот поток в onCreate действия.Это то, что вы имели в виду?

...