从包中启动意图,不能扩展Activity

时间:2017-03-14 12:31:51

标签: java android json http-response-codes

我在处理http响应代码时遇到了一些问题。问题是应用程序崩溃,因为我没有提供特定的功能来运行。 在这种情况下,我想在Httresponsecode401时将用户发回登录屏幕,否则用户仍然可以使用该应用。

在我目前的代码中,我有以下内容:

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活动位于另一个文件夹中,以防需要给出正确的答案。

2 个答案:

答案 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);