我在处理http响应代码时遇到了一些问题。问题是应用程序崩溃,因为我没有提供特定的功能来运行。
在这种情况下,我想在Httresponsecode
为401
时将用户发回登录屏幕,否则用户仍然可以使用该应用。
在我目前的代码中,我有以下内容:
public boolean isUnauthorized(JSONObject response){
try {
if(response.getInt("StatusCode") == 401) {
return true;
}
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
我想要的是打电话,以便在调用此应用程序功能时,它会在每个屏幕上都这样做。
Intent i = new Intent(Register.class, Register.activity);
startactivity(i);
然而,这是不可能的,因为ResponseHandler
无法扩展活动。如果我这样做,我得到一个包含looper.prepare()的堆栈跟踪错误。
你能告诉我如何从这里打电话给新意图吗?上面包含的类位于名为components的文件夹中,我的app活动位于另一个文件夹中,以防需要给出正确的答案。
答案 0 :(得分:1)
Intent i = new Intent(Register.class, Register.activity);
startactivity(i);
这应该是
Intent i = new Intent(CurrentClass.this, Activity.class);
startactivity(i);
如果你有片段
Intent i = new Intent(getActivity(), Activity.class);
getActivity().startactivity(i);
答案 1 :(得分:0)
您需要传递当前的Activity或Application Context作为Intent的参数。
如果它在片段内,那么
getActivity().startActivity(getActivity(), newActivity.class);
如果它在课堂内,那么:
context.startActivity(context, newActivity.class);