[英]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()的堆棧跟蹤錯誤。
有人可以告訴我如何從這里提出新的意圖。 上面包含的類位於一個名為components的文件夾中,而我的應用程序活動位於另一個文件夾中,以防需要提供正確答案。
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);
您需要將當前的Activity或Application Context作為Intent的參數傳遞。
如果它在碎片內,則
getActivity().startActivity(getActivity(), newActivity.class);
如果它在一個類中,則:
context.startActivity(context, newActivity.class);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.