使用uniapp离线打包底座时获取getApplicationContext()的方法

在对应的类中静态引入以下方法即可:

import static io.dcloud.common.util.ReflectUtils.getApplicationContext;

然后再对应的业务逻辑中直接使用getApplicationContext()即可获取到。

事实上我用jd-gui查看其编译后代码,看见好像这种工具类也能自己写,其代码如下(未验证过):

import android.context.Context;

public static Context getApplicationContext(){
	Context context = null;
	try{
		Context = (Context)Class.forName("android.app.ActivityThread").getDeclaredMethod("currentApplication",new Class[0]).invoke((Object)null, new Object[0]);
	}catch(Exception e){
		null.printStackTrace();
	}
}

 

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注