У вас должна быть активность, которую запускает пользователь. Эта активность может просто вызывать finish () к тому времени, когда она возвращается из onResume (), чтобы она не отображалась (вам также нужно установить android: theme = "@ android: style / Theme.NoDisplay"). Фактическая работа может происходить в onCreate () или подобном из действия, если оно очень короткое, в противном случае вам потребуется запустить службу, которая позаботится о выполнении работы в своем потоке.
ОДНАКО.
Наличие значка приложения, который ничего не делает, когда пользователь касается его, является довольно плохим опытом. Я настоятельно рекомендую против этого. У вас не должно быть основной записи в вашем приложении, которая фактически не запускает приложение. Я могу заверить вас, что при этом приведет к снижению рейтинга вашего приложения из-за того, что люди не понимают ваше приложение. (Особенно, если это действительно основное действие вашего приложения, потому что они нажмут кнопку «открыть» на рынке и ничего не сделают. Sucktastic.)
Я не знаю, что вы делаете, но кнопки, которые пользователь должен нажимать на своем домашнем экране, обычно должны быть реализованы с помощью виджета, такого как виджет питания. Это делает для пользователя намного более понятным, что происходит, тем более, что визуально вы можете сделать его похожим на кнопку, которую они нажимают, а не на приложение, которое они запускают.