169 похожих чатов

Друзья, подскажите, пожалуйста, как запустить BoundService, потому что по гугловскому

туториалу не запускается. bindService возвращает false

AndroidManifest.xml
<application ...>
<service android:name=".MyBinderService" />
</application>

MyBinderService.kt
class MyBinderService : Service() {

private val binder = LocalBinder()

private val mGenerator = Random

val randomNumber: Int
get() = mGenerator.nextInt(100)

inner class LocalBinder : Binder() {
fun getService(): MyBinderService = this@MyBinderService
}

override fun onBind(intent: Intent?): IBinder {
return binder
}
}

Activity.kt
class MainActivity : AppCompatActivity() {

private lateinit var binderService: MyBinderService
private var bound = false

private val connection = object : ServiceConnection {
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
val binder = service as MyBinderService.LocalBinder
binderService = binder.getService()
bound = true
}

override fun onServiceDisconnected(name: ComponentName?) {
bound = false
}
}

override fun onCreate(savedInstanceState: Bundle?) {
...
// Binder Service
startServiceButton.setOnClickListener {
Intent(this, MyBinderService.LocalBinder::class.java).also { intent ->
bindService(intent, connection, Context.BIND_AUTO_CREATE)
}
}

stopServiceButton.setOnClickListener {
unbindService(connection)
bound = false
}

findViewById<Button>(R.id.button4).setOnClickListener {
if (bound) {
binderService.randomNumber
}
}
}
}

1 ответов

5 просмотров
Savva-Mirzoyan Автор вопроса

Да, сработало, спасибо. Не обратил внимание

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Any electron dev here?
Sayanth Tezro
12
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Карта сайта