android 全局context

获取context不再难题,

import android.app.Application;
import android.content.Context;

/**
 * Created by hoyn on 2020/7/1.
 */
//用于全局找context
public class App extends Application {
    public static Context mContext;

    @Override
    public void onCreate() {
        super.onCreate();
        //mContext = this;
        //获取context
        mContext = getApplicationContext();
    }
    //创建一个静态的方法,以便获取context对象
    public static Context getContext(){
        return mContext;
    }
}

别的地方调用,比如:

public static void toStartYourActivity(){
        Context scontext = App.getContext();
        Intent dialogIntent = new Intent(scontext, MainActivity.class);
        //dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        scontext.startActivity(dialogIntent);
}

AndroidMainfest 文件 application 中添加 android:name=".App"

<application
        android:name=".App"
......

其它方法2

try {   
  Application app = (Application) Class.forName("android.app.ActivityThread").getMethod("currentApplication").invoke(null, (Object[]) null);   
}
catch (Exception e) {   
  e.printStackTrace();
}

可靠方法3

try {   
  Application app = (Application) Class.forName("android.app.AppGlobals").getMethod("getInitialApplication").invoke(null, (Object[]) null);   
}
catch (Exception e) {   
  e.printStackTrace();
} 
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注