Android 从活动中唤醒等待触摸事件的线程?
我有一根线在等着你 我想要的是当用户触摸手机屏幕时通知这个等待的线程Android 从活动中唤醒等待触摸事件的线程?,android,Android,我有一根线在等着你 我想要的是当用户触摸手机屏幕时通知这个等待的线程 private Runnable disconnectCallback = new Runnable() { @Override public void run() { // Perform any required operation on disconnect runOnUiThread(new Runnable() { @Override
private Runnable disconnectCallback = new Runnable() {
@Override
public void run() {
// Perform any required operation on disconnect
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),
"Your session expired Please Login again",
Toast.LENGTH_SHORT).show();
try {
synchronized (disconnectCallback) {
disconnectCallback.wait();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
final Logout l = new Logout();
l.setContext(Ac2.this);// passing context of Ac3.java to
// Logout.java
l.execute(sessid, uname);
}
});
}
};
在onTouch事件调用中:
disconnectCallback.notifyAll();
试试这个
private Runnable disconnectCallback = new Runnable() {
@Override
public void run() {
// Perform any required operation on disconnect
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),
"Your session expired Please Login again",
Toast.LENGTH_SHORT).show();
}
});
try {
synchronized(disconnectCallback){
disconnectCallback.wait();
final Logout l=new Logout();
l.setContext(Ac2.this);// passing context of Ac3.java to Logout.java
l.execute(sessid,uname);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
内奥托奇
synchronized (disconnectCallback) {
disconnectCallback.notify();
}
它给出了以下错误:java.lang.IllegalMonitorStateException:对象在wait()调用之前未被线程锁定也在disconnectCallback上等待,如:disconnectCallback.wait();顺便说一句,我建议将等待相关代码移到UI线程上运行的外部。发生以下错误:Activity done(在应用程序MyapplicationName中)未响应您是否在注销内部执行任何与UI相关的任务?发生以下错误:Activity done(在应用程序MyapplicationName中)未响应在logout.java中它调用一个php文件并移动到登录屏幕(以前的活动)
synchronized (disconnectCallback) {
disconnectCallback.notify();
}