I've launched InputMethodService and activating it in settings, onCreate works - it return my string, but onGenericMotionEvent do nothing - it should send string to companion object when app resumed. Have no idea why it not working. Hope somebody can help me.
package com.pg.inputservice
import android.content.Intent
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import android.provider.Settings
class MainActivity : AppCompatActivity() {
private lateinit var myTextView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//set permission
var intent = Intent(Settings.ACTION_INPUT_METHOD_SETTINGS)
startActivity(intent)
//launch service
val service = Intent(this, IMService::class.java)
startService(service)
myTextView = findViewById(R.id.textMy)
myTextView.text = "onCreateMain"
}
override fun onResume() {
myTextView.text = IMService.test + " onResume"
super.onResume()
}
}
package com.pg.inputservice
import android.inputmethodservice.InputMethodService
import android.view.MotionEvent
class IMService: InputMethodService() {
companion object {
var test: String = "initialisation"
}
override fun onCreate(){
test = "onCreate"
}
override fun onGenericMotionEvent(event: MotionEvent): Boolean {
test = "onGenericMotionEvent"
return true
}
}