Java android:为什么我们需要JobIntentService中的Runnable?
我正在使用Java android:为什么我们需要JobIntentService中的Runnable?,java,android,Java,Android,我正在使用JobIntentService,示例如下: @Override protected void onHandleWork(Intent intent) { ... toast("Executing"); ... } @Override public void onDestroy() { super.onDestroy(); toast("All work complete"); } final Hand
JobIntentService
,示例如下:
@Override
protected void onHandleWork(Intent intent) {
...
toast("Executing");
...
}
@Override
public void onDestroy() {
super.onDestroy();
toast("All work complete");
}
final Handler mHandler = new Handler();
// Helper for showing tests
void toast(final CharSequence text) {
mHandler.post(new Runnable() {
@Override public void run() {
Toast.makeText(JsInvokerJobService.this, text, Toast.LENGTH_SHORT).show();
}
});
}
我是Android新手,我不明白为什么他们会将Toast.makeText
包装在Runnable
中,而不是直接在onHandleWork
和onestroy
方法中使用它。Runnable的方法没有真正的帮助。这是否特定于JobIntentService
?哪些内容应该进入onHandleWork
方法,哪些内容应该卸载到Runnable
我是Android新手,我不明白他们为什么要包装
Toast.makeText在可运行的
这是因为JobIntentService
在后台线程上运行,并且不能从中显示Toast。处理程序将在ui线程的runloop队列中发布您的runnable,并在其上执行