所以我一直在研究自己的一個小項目,我面臨的問題是它正在工作,但startActivity在signIn()方法執行完成之前執行,即,完成活動我得到一個彈出選擇電子郵件帳戶。Java - signIn按預期工作
@Override
public void onClick(View v) {
if (v.getId() == R.id.sign_in_button) {
signIn();
}
startActivity(new Intent(LoginActivity.this, MainActivity.class));
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
finish();
}
private void signIn() {
Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);
}
而且,當互聯網不可用時,該應用程序不工作,我該如何使其工作?它崩潰的消息「不幸的應用程序已停止。」
如果簽到是異步(它必須是如果網絡參與),您將需要實現等待響應的回調接口,然後運行開始活動。 – zgc7009
我沒有想到線程或Asynctask,因爲我沒有任何經驗,但無論如何,我會嘗試在AsyncTask中實現它,如下面的答案中提供的 –
介意發佈您的代碼signIn()?如果您仍然遇到問題,我可能會有所幫助 – zgc7009