获取Android应用程序的当前上下文

获取Android应用程序的当前上下文,android,Android,获取应用程序的当前上下文时遇到问题。我有一个对象,我在多个地方引用/使用它。当在应用程序的任何地方使用时,如果用户的凭据已过期,它可能会返回密钥状态失败。在这种情况下,我希望,从用户当前所在的页面,将他们重新引导到登录屏幕以重新建立凭据。我尝试了几个函数来获取基本上下文,但没有成功(目前使用的是getApplicationContext())。感谢您的帮助 //In common execution thread, after reading return from HTTP Post call

获取应用程序的当前上下文时遇到问题。我有一个对象,我在多个地方引用/使用它。当在应用程序的任何地方使用时,如果用户的凭据已过期,它可能会返回密钥状态失败。在这种情况下,我希望,从用户当前所在的页面,将他们重新引导到登录屏幕以重新建立凭据。我尝试了几个函数来获取基本上下文,但没有成功(目前使用的是
getApplicationContext()
)。感谢您的帮助

//In common execution thread, after reading return from HTTP Post call
int stat = Integer.parseInt(checker.getString("status"));

if(stat == KEY_STATUS_FAILED){
    Log.d("Process t", "Key Status Failed");
    Intent i = new Intent(getApplicationContext(), LogInPage.class);
    startActivity(i); //this never occurs
}

我当前得到的日志输出表明,如果循环失败,它已进入密钥状态。但是,我的应用程序没有重新定向到
LogInPage.class
。我确信这是一个基本的问题,我只是犯了一个愚蠢的错误,但我对这一点非常陌生,所以感谢大家的帮助。

您提供的应用程序上下文不负责启动活动。您需要使用活动上下文来执行此操作

尝试使用:

Intent i = new Intent(this, LogInPage.class);
startActivity(i);
或Intent i=新的Intent(getActivity(),LogInPage.class)

或者尝试在活动类中创建全局上下文变量并使用该变量,或者尝试以下操作:

Intent i = new Intent(((YourActivity) getActivity()), LogInPage.class);

你的
清单
文件怎么样?您是否在
Manifest
中注册了
LogInPage
,该代码所在的类的类型和超类型是什么?请记录ur stat并查看值,设置断点并尝试在调试模式下运行应用程序以查看发生了什么。这可能是因为您没有使用正确的上下文。应用程序上下文不应用于启动新活动。如果你没有选择,你必须开始一项新的任务。Cf->上下文功能