获取当前上下文Activity
获取当前上下文,用于显示dialog或弹出toastpublicstaticActivitygetGlobleActivity(){Class<?>activityThreadClass;try{activityThreadClass=Class.forName("android.app.ActivityThread");ObjectactivityThread=activityThreadClass.getMethod("currentActivityThread").invoke(null);FieldactivitiesField=activityThreadClass.getDeclaredField("mActivities");activitiesField.setAccessible(true);Map<?,?>activities=(Map<?,?>)activitiesField.get(activityThread);for(ObjectactivityRecord:activities.values()){Class<?extendsObject>activityRecordClass=activityRecord.getClass();FieldpausedField=activityRecordClass.getDeclaredField("paused");pausedField.setAccessible(true);if(!pausedField.getBoolean(activityRecord)){FieldactivityField=activityRecordClass.getDeclaredField("activity");activityField.setAccessible(true);Activityactivity=(Activity)activityField.get(activityRecord);returnactivity;}}}catch(Exceptione){e.printStackTrace();}returnnull;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。