Я согласен, что пример приложения In-App Billing имеет несколько уровней, которые кажутся ненужными, но идея использования Сервиса для взаимодействия с Market является хорошей.Это связано с тем, что процесс очень асинхронный (и может занимать много времени), и некоторые события генерируются вне рабочего процесса покупки пользователя.
Пока пользователь будет взаимодействовать с некоторым пользовательским интерфейсом Market, решая, следует лиЧтобы купить «товар», после завершения этого процесса между вашим приложением и приложением Market будет долгий путь назад и назад, чтобы авторизовать и завершить транзакцию, причем многие шаги задерживаются, пока Market связывается со своими серверами.Вы не хотите удерживать пользователя и заставлять его ждать этой операции просто, чтобы вы могли завершить покупку.Вы хотите, чтобы это было в Службе, чтобы пользователь мог перемещаться в приложении или оставить его на некоторое время полностью, и при этом иметь возможность завершить покупку и загрузить соответствующий приобретенный контент, не опасаясь удаления вашего процесса.
Кроме того, есть много событий, которые могут возникнуть в вашем приложении, если покупки отменены или отклонены иным образом, которые могут произойти ДЛИННО после первоначальной покупки туда-сюда, и пользователь может делать что-то совершенно другое или не иметь свой телефонпроснуться вообще в это время.Вы хотите иметь возможность обрабатывать эти события, не вызывая Активность.
В итоге, это длительный фоновый процесс ... для этого и были разработаны Сервисы.
НТН