[英]how to get application context from non activity and finish();?
這是我的代碼:
這是HomeActivity.java:
public class HomeActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
session = new SessionManagement(getApplicationContext());
session.checkLogin();
這是SessionManagement.java:
public class SessionManagement {
SharedPreferences pref;
// Editor for Shared preferences
SharedPreferences.Editor editor;
// Context
Context _context;
public void checkLogin(){
// Check login status
if(!this.isLoggedIn()){
// user is not logged in redirect him to Login Activity
Intent i = new Intent(_context, LoginActivity.class);
// Closing all the Activities
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// Add new Flag to start new Activity
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Staring Login Activity
_context.startActivity(i);
}
}
}
我正試圖稱其為“ finish();”。 在此里面: public void checkLogin(){if(!this.isLoggedIn()){這樣我就可以關閉/完成(); HomeActivity.java類。
我怎樣才能做到這一點?
創建類作為Application的擴展,在我的情況下,我的類是:
package zillion;
import android.app.Application;
import android.content.Context;
/**
* Created by SCM on 2017-02-17.
*/
public class Zillion extends Application {
private static Context mContext;
@Override
public void onCreate() {
super.onCreate();
mContext = getApplicationContext();
}
public static Context getContext() {
return mContext;
}
}
在包含此自定義類的模塊中,轉到manifiedt,並將應用程序名稱定義為:
<application
android:name=".Zillion"
</application>
然后,從您的另一個類中,調用應用程序上下文為:
Zillion.getContext()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.