SystemProperties反射调用
Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用,只能通过java反射来调用
SystemPropertiesInvoke.java
package com.as; import java.lang.reflect.Method; import android.util.Log; public class SystemPropertiesInvoke { private static final String TAG = "SystemPropertiesInvoke"; private static Method getLongMethod = null; private static Method getBooleanMethod = null; public static long getLong(final String key, final long def) { try { if (getLongMethod == null) { getLongMethod = Class.forName("android.os.SystemProperties") .getMethod("getLong", String.class, long.class); } return ((Long) getLongMethod.invoke(null, key, def)).longValue(); } catch (Exception e) { Log.e(TAG, "Platform error: " + e.toString()); return def; } } public static boolean getBoolean(final String key, final boolean def) { try { if (getBooleanMethod == null) { getBooleanMethod = Class.forName("android.os.SystemProperties") .getMethod("getBoolean", String.class,boolean.class); } //Log.i(TAG,"getBoolean:"+"key:"+key+" def:"+def); //Log.i(TAG,"getBoolean:"+getBooleanMethod.invoke(null, key, def)); return (Boolean)getBooleanMethod.invoke(null, key, def); } catch (Exception e) { Log.e(TAG, "Platform error: " + e.toString()); return def; } } }
posted on 2015-05-12 17:52 Cynthia&Sky 阅读(6771) 评论(0) 收藏 举报
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号