Приложение Android Service

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

2 вопроса:

  1. Как заставить программу (Службу) инициализировать при загрузке автоматически без каких-либо настроек пользователя или взаимодействия?

  2. У меня создалось впечатление, что вы не можете создавать и отображать диалоги без использования Activity. Я хотел бы, чтобы диалоги отображались в зависимости от того, что пользователь имеет на экране и отображает диалог. Есть ли способ сделать операцию полностью прозрачной над текущей Деятельностью или есть способ отображения диалогов из Сервиса?

заранее спасибо.

Как заставить программу (Службу) инициализировать при загрузке автоматически без каких-либо настроек пользователя или взаимодействия?

Добавьте это разрешение в свой манифест:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

Затем добавьте приемник в свой манифест:

 <receiver android:name="your.package.BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver> 

Создайте ресивер в Java-коде:

 public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // start the service from here } } 

У меня создалось впечатление, что вы не можете создавать и отображать диалоги без использования Activity. Я хотел бы, чтобы диалоги отображались в зависимости от того, что пользователь имеет на экране и отображает диалог. Есть ли способ сделать операцию полностью прозрачной над текущей Деятельностью или есть способ отображения диалогов из Сервиса?

Да, это правда. Появится диалоговое окно, в котором отображается действие. Чтобы создать прозрачную активность, добавьте следующий стиль в файл res/values/styles.xml (если у вас его нет, создайте его.) Вот полный файл:

 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.Transparent" parent="android:Theme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">#00000000</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> </style> </resources> 

Затем примените стиль к вашей деятельности, например:

 <activity android:name=".TransparentActivity" android:theme="@style/Theme.Transparent"> ... </activity> 
Intereting Posts
Android Multitouch – Определите, какой палец поднят? Пауза видео YouTube для Android YouTube при повороте экрана или скрытии проигрывателя Как сохранить размер аудио, уменьшен, во время записи в андроиде? Ограничить количество вызовов при использовании Parse Как определить, способно ли устройство звонить и отправлять сообщения Невозможно отладить приложение Android в Intellij: «Предупреждение: информация об отладке может быть недоступна». Android – SPAN_EXCLUSIVE_EXCLUSIVE пролеты не могут иметь нулевую длину Есть ли способ определить, работает ли приложение Android в полноэкранном режиме? Специальная программная клавиатура для Android Интеграция с Android, где ввести идентификатор входа в систему API и ключ транзакции в Authorized.Net SDK Атрибуты стиля пользовательского стиля AlertDialog Как отправить sms в Android в двойную SIM-карту? Как получить полное разрешение и несжатые данные изображения с камерой Android? Уведомление о толчке Firebase не работает Исключение NullPointerException при использовании LocalBroadcastManager