0
我的应用有一些onClick()
事件,其中一些事件需要登录才能发送请求。检查在执行操作前是否已登录
我应该如何处理如果有人点击某些事情需要他们登录才会发生的操作?
我有以下改造类:
public class RestClient {
private static ApiEndpointInterface apiService;
private static String API_URL = "http://www.website.com/api";
private RestClient() {
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API_URL)
.setRequestInterceptor(new SessionRequestInterceptor())
.build();
apiService = restAdapter.create(ApiEndpointInterface.class);
}
public static ApiEndpointInterface getApiService() {
return apiService;
}
public class SessionRequestInterceptor implements RequestInterceptor {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Accept", "application/json");
if (PreferenceUtils.isLoggedIn()) {
request.addHeader("Authorization", PreferenceUtils.getTokenId() + ":" + PreferenceUtils.getTokenKey());
}
}
}
}
,这就是所谓的其他地方是这样的:
RestClient.getApiService().getUser(new Callback<UserData>() {
@Override
public void success(UserData json, Response response) {
}
@Override
public void failure(RetrofitError retrofitError) {
}
});
正如你所看到的,如果他们登录的拦截器增加了一个Authorization
头,但是如果他们没有登录,我是否应该阻止这些电话完全通话?我应该如何实现?