我的第一个活动是为此目的使用最简单的形式和硬编码凭据的登录活动。POST 请求被发送到 API 并作为结果返回令牌。一切正常。现在我实现它的方式是我在登录方法内的 onClick 事件中的 onSuccess 方法内放置了一个意图。这是代码:
Login login = new Login("{hardcodedEmail}", "{hardcodedPassword}");
Call<User> call = userClient.login(login);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
Toast.makeText(MainActivity.this, response.body().getToken(), Toast.LENGTH_LONG).show();
String token = response.body().getToken();
Intent i = new Intent(MainActivity.this, TestActivity.class);
startActivity(i);
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(MainActivity.this, "Error: \n" + t.getMessage(), Toast.LENGTH_LONG).show();
}
});
这段代码有一个简单的祝酒词,向我展示令牌并说一切正常。这样做,我在此页面上没有任何错误。但在下一页上,我试图从 API 检索一些数据并显示它,但我收到错误 401,或未经授权的访问。这意味着我的凭据没有留下。
除了直接跳到下一个活动以保持凭据有效之外,我还需要做些什么吗?