Задача проста. Все, что я хочу сделать, это отправить сообщение из MainActivity в собственный HandlerThread.
Весь код прикреплен и прокомментирован .
MyHandlerThread
public class MyHandlerThread extends HandlerThread implements Handler.Callback {
private static final String TAG = "MyHandlerThread";
public MyHandlerThread(String name) {
super(name);
Log.i(TAG,this.getName());
}
/**
* @param msg A {@link Message Message} object
* @return True if no further handling is desired
*/
@Override
public boolean handleMessage(Message msg) {
Log.i(TAG,Integer.toString(msg.arg1)); //The message sent from MainActivity dosent end up here. Why?
Log.i(TAG,Integer.toString(msg.arg2));
return false;
}
}
MainActivity
class MainActivity : AppCompatActivity() {
private val TAG = "MainActivity"
private val workerThread = MyHandlerThread("MyThread");
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//setContentView(R.layout.activity_main)
setContentView(R.layout.gauge_layout);
workerThread.start()
val mHandler: Handler = Handler(workerThread.looper) //Attach a handler to the MyHandlerThread looper
var msg = mHandler.obtainMessage() // Get a message from the MyHandlerThread messageque
msg.arg1 = 12 //Just add some int
msg.arg2 = 99
mHandler.sendMessage(msg) //Where is this message sent? The .sendMessage() returns true. It dosent end up in MyHandlerThread handleMessage()
}
}
Я не получаю никаких ошибок, и .sendMessage возвращает true. Но я не знаю, куда он отправляется или почему он не попадает в сообщение-дескриптор MyHandlerThread.
Надеюсь, кто-то может помочь.