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 ответов

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

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта