我正在尝试在我的Android应用程序上使用andengine强制使用Google Plus Sign Button,我收到了NullPointException。 这是我的代码
public class GameActivity extends BaseGameActivity implements ConnectionCallbacks, OnConnectionFailedListener{
public static GameActivity gameActivity;
public static ProgressDialog mConnectionProgressDialog;
public static PlusClient mPlusClient;
public static ConnectionResult mConnectionResult;
private static final int REQUEST_CODE_RESOLVE_ERR = 9000
public void onCreate(Bundle savedInstanceState) {
gameActivity = this;
}
public static void buttonPressed() {
Log.e("pushNotification", "buttonPressed");
if (!mPlusClient.isConnected()) {
if (mConnectionResult == null) {
mConnectionProgressDialog.show();
}
try {
mConnectionResult.startResolutionForResult(gameActivity,REQUEST_CODE_RESOLVE_ERR);
} catch (SendIntentException e) {
mConnectionResult = null;
mPlusClient.connect();
}
}
}
在我的菜单场景中调用静态方法buttonPressed。它运行良好,直到它与代码崩溃:
mConnectionResult.startResolutionForResult(gameActivity, REQUEST_CODE_RESOLVE_ERR);
正如我发布的那样,它在“尝试”部分被调用。
有人可以帮助我吗?我做错了什么?我必须传递什么参数而不是“gameActivity”??? 非常感谢
答案 0 :(得分:0)
在UI线程上运行buttonPressed()方法,如下所示:
Activity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
buttonPressed();
}
});
试试这个