我正在创建一个Android应用程序,其中我从主要活动A调用了服务C.从服务C我调用了一个扩展线程的B类实例。现在我需要从这个类B中为用户显示一条消息。我尝试使用Handler类,我使用的代码是
在课程B中扩展线程
Message status = someHandler.obtainMessage();
Bundle data = new Bundle();
data.putString("SOMETHING", "dist");
status.setData(data);
someHandler.sendMessage(status);
IN SERVICE C:
Handler someHandler = new Handler(){
//this method will handle the calls from other threads.
public void handleMessage(Message msg) {
Toast.makeText(getBaseContext(), msg.getData().getString("SOMETHING"),Toast.LENGTH_SHORT).show();
}
};
现在,当我运行这个时,我期待在主UI活动A中显示一个toast。但是它无效。
答案 0 :(得分:0)
它可能是上下文,取决于服务C的显示方式,getBaseContext()并不总是正确的。您可以尝试'this'或静态调用上下文。