小编vag*_*ire的帖子

如何获得DecorVIew的活动?获取DecorContext的DecorView上的.getContext()

在Android 7上,获取DecorView返回DecorContext类的上下文并且它不是Activity.我曾经使用过活动,Activity a = (Activity)view.getContext()但它不适用于Android 7上的DecorView.有没有有效的方法从DecorView获取活动?

我正在使用反射来获取DecorView的窗口,然后获取该窗口的上下文(这是一个Acitivity).

Field f = decorView.getClass().getDeclaredField("mWindow");
f.setAccessible(true);
Window w = (Window) f.get(decorView);
Activity a = (Activity) w.getContext();
Run Code Online (Sandbox Code Playgroud)

有没有办法使用标准API?

android android-context android-activity android-7.0-nougat

6
推荐指数
1
解决办法
1061
查看次数