And*_*dan 0 multithreading android broadcast broadcastreceiver
我正在尝试使用广播公司将消息从子线程发送到主UI线程.所以我的活动有一个广播接收器(我讨厌多个),我希望能够从一个单独的子线程(runnable)发送消息.
这是我在子线程中正在做的事情:
Intent broadcastIntent = new Intent();
broadcastIntent.setAction(ResponseReceiver.ACTION_RESP);
broadcastIntent.putExtra("Controller", "connect");
context.sendBroadcast(broadcastIntent);
Run Code Online (Sandbox Code Playgroud)
但问题是我如何定义上下文?它给出了异常"上下文无法解决"如果我不使用它,它将找不到"sendBroadcast"方法.那么怎么做呢?
您可以将活动或应用程序上下文传递给您的线程.
如果您在活动中,您可以:
Context myContext;
myContext = this;
Run Code Online (Sandbox Code Playgroud)
要么
myContext = getApplicationContext();
Run Code Online (Sandbox Code Playgroud)
然后将上下文传递给您的子线程:
new Thread(new SomeThread(myContext)).start();
public class SomeThread implements Runnable
{
Context context;
public SomeThread(Context ctx)
{
context = ctx;
}
public void run()
{
// Do stuff with context.
}
}
Run Code Online (Sandbox Code Playgroud)