मैं नया वैल्यू होने के लिए "NO_CACHE" सेट करना चाहता हूं।जावा प्रतिबिंब का उपयोग कर एंड्रॉइड निजी स्थिर अंतिम क्षेत्र बदल रहा है?
static void setFinalStatic(Object newValue) throws Exception
{
Field field = CacheManager.class.getDeclaredField("NO_CACHE");
field.setAccessible(true);
Field modifiersField=Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field,field.getModifiers() & ~Modifier.FINAL);
field.set(null, newValue);
}
लेकिन एंड्रॉयड पर इस कोड चल निम्न त्रुटि पैदा करता है: यहाँ मेरी कोड है
java.lang.NoSuchFieldException: modifiers
मैं modifiers
खोजने के जावा में Field
कक्षा में एक क्षेत्र है, लेकिन यह एक क्षेत्र नहीं है एंड्रॉइड पर Field
कक्षा।
http://www.docjar.com/html/api/java/lang/reflect/Field.java.html
यह Field
वर्ग कोड एंड्रॉयड है:
यह जावा Field
वर्ग कोड है
http://www.oschina.net/code/explore/android-2.2-froyo/java/lang/reflect/Field.java
जावा में उपरोक्त कोड काम कर सकते हैं, लेकिन उस पर काम नहीं करता है एंड्रॉइड मंच।
मैं इसे कैसे ठीक करूं?
'कैशमेनगर' क्या है? –
android.webkit.CacheManager – user1884025
यह एंड्रॉइड के बाहर कैसे काम करेगा, अगर यह एक एंड्रॉइड-केवल क्लास है? –