获取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();
}