从无法扩展 Activity 的包开始意图
Start intent from package which cannot extends Activity
我在处理 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
不能扩展 Activity。如果我这样做,我会得到一个包含 looper.prepare() must be called.
的堆栈跟踪错误
谁能告诉我如何从这里调用新的意图。上面包含的 class 位于一个名为 components 的文件夹中,我的应用程序活动位于另一个文件夹中,以防需要它来给出正确答案。
您需要传递当前 Activity 或应用程序上下文作为您的 Intent 的参数。
如果它在片段内则
getActivity().startActivity(getActivity(), newActivity.class);
如果它在 class 内,则:
context.startActivity(context, newActivity.class);
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);
我在处理 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
不能扩展 Activity。如果我这样做,我会得到一个包含 looper.prepare() must be called.
谁能告诉我如何从这里调用新的意图。上面包含的 class 位于一个名为 components 的文件夹中,我的应用程序活动位于另一个文件夹中,以防需要它来给出正确答案。
您需要传递当前 Activity 或应用程序上下文作为您的 Intent 的参数。
如果它在片段内则
getActivity().startActivity(getActivity(), newActivity.class);
如果它在 class 内,则:
context.startActivity(context, newActivity.class);
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);