Create AIDL client
// callback implemetation
private val aidlCallback: ICalculatorCallback = object : ICalculatorCallback.Stub() {
override fun onAdded(result: Int) {
// do something when callback is received
Toast.makeText(
applicationContext,
String.format(Locale.getDefault(), "Sum is: %d", result),
Toast.LENGTH_LONG
).show()
}
}// aild service connection
private var aidlService: ICalculator? = null
private val serviceConnection = object : ServiceConnection {
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
// get aidl service instance
aidlService = ICalculator.Stub.asInterface(service)
// register callback
aidlService?.registerListener(aidlCallback)
Toast.makeText(applicationContext, "Service Connected", Toast.LENGTH_LONG).show()
}
override fun onServiceDisconnected(name: ComponentName?) {
aidlService = null
Toast.makeText(applicationContext, "Service Disconnected", Toast.LENGTH_LONG).show()
}
}Call AILD methods (Full Example):
Last updated