2015-09-04 65 views
0

我遇到的问题获取了我的应用程序的当前上下文。我有一个对象,我参考/在多个地方使用。在应用程序的任何位置使用时,如果用户的凭证已过期,则可能会返回KEY_STATUS_FAILED。在这种情况下,我想从用户当前所处的页面中,将它们重定向到登录屏幕以重新建立凭据。我尝试了几个函数来获取基本上下文,但没有成功(目前使用的是getApplicationContext())。所有帮助表示赞赏!获取Android应用程序的当前上下文

//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 
} 

我目前正在获取输入的密钥状态失败if-loop的日志输出。但是,我的申请并未重定向至LogInPage.class。我确信这是一些基本的东西,我只是犯了一个头脑发热的错误,但我对此很新,所以谢谢大家的帮助。

+0

谈谈你'Manifest'文件?您是否在'Manifest'中注册了'LogInPage'? –

+0

这段代码存在的类的类型和超类型是什么? –

+0

登录您的统计信息并查看值, –

回答

1

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

尝试使用:

Intent i = new Intent(this, LogInPage.class); 
startActivity(i); 

或意图I =新意图(getActivity(),LogInPage.class);

或尝试在活动类创建一个全局上下文变量和使用,或试试这个:

Intent i = new Intent(((YourActivity) getActivity()), LogInPage.class); 
相关问题