объяснение службы Android - PullRequest
       9

объяснение службы Android

0 голосов
/ 21 декабря 2009

Я новый разработчик Android, и в настоящее время я делаю приложение для связи с SIP . Я хотел бы установить фоновую задачу для выполнения всех задач, связанных с SIP, и, если возможно, разрешить ее запуск при запуске телефона. Мои нынешние мысли о создании Service и запуске его при загрузке устройства, проблема в том, что существует два вида Services, который использует AIDL , и тот, который запускается с Intent ,

Я хотел бы передать некоторые аргументы своему сервису и позволить ему работать независимо от моего основного Activity и иметь возможность уведомлять мой основной Activity о входящих сообщениях. Кто-нибудь может сказать мне, как это сделать, и указать мне на любой хороший учебник, где я могу понять разницу между двумя Service с? Я прочитал книгу о некоторых учебных пособиях, включая разработчиков Android, и некоторые из них, но они запутали меня еще больше.

Ответы [ 2 ]

6 голосов
/ 21 декабря 2009

проблема в том, что есть два вида услуг, который использует AIDL и один который начинается с намерением

Это неверно. Вы используете Intents как с локальными службами, так и с удаленными службами. AIDL используется только с удаленными службами.

Я хотел бы передать некоторые аргументы мой сервис и пусть он работает самостоятельно моей основной деятельности и быть в состоянии уведомить мою основную деятельность входящих сообщения.

Чтобы передать «аргументы» службе, вы можете упаковать их как «дополнительные» через putExtra() на Intent, который вы передаете startService() или bindService().

Чтобы «уведомить мою основную активность о входящих сообщениях», вы можете использовать широковещательную Intents и BroadcastReceiver в активности, или вы можете привязать активность к службе через bindService() и использовать объекты прослушивателя.

2 голосов
/ 21 декабря 2009

Воспользуйтесь услугой. Вы можете общаться с ним, используя процедуры, определенные в AIDL. Если он должен уведомить вас о чем-либо, он может отправить ваше заявление о намерении.

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

Я написал что-то подобное для моего приложения RandyVideos (можно бесплатно получить у MiKandi).

У меня есть служба в фоновом режиме, выполняющая сетевые операции. И основная деятельность связывается с ним с помощью методов, описанных в AIDL. Если служба хочет поговорить с деятельностью, она отправляет намерение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...