アクティビティでハンドラを作成しました。ハンドラーはアプリケーション オブジェクトに格納されます。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.action_activity);
appData = (AttachApplication) getApplication();
Handler updateHandler = new Handler() {
public void handlerMessage(Message msg) {
Log.d( TAG, "handle message " );
}
};
appData.setUpdateHandler( updateHandler );
}
私の計画は、サービスでEmtpyMessageを設定すると、このhandleMessageが呼び出されることです。サービスは、アプリケーション オブジェクトからハンドラーを取得します。
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand of attachService");
List<Job> jobList = DBManager.getInstance().getAllOpenJobs();
appData = (AttachApplication) getApplication();
updateHandler = appData.getUpdateHandler();
updateHandler.sendEmptyMessage( 101 );
ログを確認しましたが、ハンドル メッセージがないため、私の計画は機能していないようです。サービスが機能するたびにテキストフィールドを更新したいと考えています。