bindservice в вещах android manifest.xml опция ACTION_BOOT_COMPLETED - PullRequest
0 голосов
/ 17 марта 2019

У меня есть этот проект https://github.com/neuberfran/SmartDrive5 Проблема в том, что приложение (согласно logcat) никогда не переходит в: Log.i (TAG, "Volto 101.00 $ {teste}") в ModoAutomatico.kt Файл и в Log.i (ContentValues.TAG, "Volto 106.00") В DriverService.kt файл

Когда я помещаю приложение android:name="com.you.yourapp.ApplicationEx" в Manifest.xml У меня есть новыйпроблема: ***Service Intent must be explicit: Intent { }***

enter image description here

Как я могу реализовать bindservice в приложениях для Android?

1 Ответ

1 голос
/ 18 марта 2019

Android Things не предъявляет особых требований к сервисам привязки.

У меня есть этот проект https://github.com/neuberfran/SmartDrive5

Код, который вы используетепривязка к сервису в вашем проекте GitHub неверна.Для конструктора ComponentName требуется имя пакета вашего приложения (не пакета класса), поэтому вы должны выглядеть так:

val driverService = ComponentName(
        "com.example.neube.smartdrive",
        "com.example.neube.smartdrive.controlamotores.modooffline.DriverService"
)

val serviceIntent = Intent()
serviceIntent.component = driverService

// Bind to the driver service
bindService(serviceIntent, callback, BIND_AUTO_CREATE)

Обратите внимание, что этот формат действительно необходим, только если вы вызываете службув удаленном процессе.Поскольку вы привязываетесь к сервису из одного контекста приложения, гораздо проще построить намерение следующим образом:

val serviceIntent = Intent(this, DriverService::class.java)
// Bind to the driver service
bindService(serviceIntent, callback, BIND_AUTO_CREATE)
...