簡體   English   中英

如何從非活動和finish();獲取應用程序上下文?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM