首先,爲了更有組織性,你應該在這個類上創建類似MyApplication extends Application
的東西,你可以創建一個靜態方法onSessionsCreated並傳遞一個布爾值,表示顯示或不顯示你的MainScreen(不是登錄屏幕)。
公共靜態無效onSessionCreated(上下文語境,CurrentFan currentFan,布爾startMainScreenActivity){ 如果(startMainScreenActivity){ 意圖意圖=新意圖(上下文,MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); }
如果您使用的是MVC,您應該創建一個SessionsController來在您的API中登錄用戶,然後在回調登錄處,您應該調用onSessionCreated傳遞當前用戶。
if (activity instanceof LoginActivity)
((LoginActivity)mActivity).onSessionCreated(user);
然後在你LoginActivity您可以撥打:
public void onSessionCreated(User currentUser) {
MyApplication.onSessionCreated(this, currentUser, true);
finish();
}
使用這個模型,你會: - 使用MVC模式 - 用你的API與您的用戶 登錄 - 使用所有MyApplication類
我認爲這應該是一個好方法。希望對你有用。
這應該工作得很好。您是否從安裝程序啓動應用程序(第一次)?或從一個IDE(如IntelliJ或Eclipse)? –
另外,發佈您的清單,它可能有助於排除此故障。 –