函数中间调用java线程
我正在调用一个线程,该线程将GCM ID返回到名为gcmRegID的公共变量中
问题在于,只有在函数结束后才会调用线程
我想知道在函数的中间是否有一个方法可以得到GCMRIEID的值。我会用代码解释更多
我想在CheckGCMID中获取gcmRegID的值,但我得到的是“”
String gcmRegID = "";
public void onClick(View view) {
String CheckGCMID;
GetGCM();
CheckGCMID = gcmRegID; // <-- This is always return empty string
}
private void GetGCM() {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
GCMHelper gcmRegistrationHelper = new GCMHelper(
getApplicationContext());
gcmRegID = gcmRegistrationHelper.GCMRegister("123456");
// gcmRegID value is "KHDKJDIUHDHDKDK"
} catch (Exception bug) {
bug.printStackTrace();
}
}
});
thread.start();
}
# 1 楼答案
您应该使用回调来异步获取值
试试这样: