由于Android处于安全性的考虑,使app开发过程中经常会遇到一些系统的接口无法在app中import使用,这个时候就要通过反射的方式来调用相关接口
反射大概的使用方式为:
import java.lang.reflect.Method;
public class SerialUtils {
public static String getSerialNumber() {
String serial = null;
try {
Class<?> c = Class.forName("android.os.SystemProperties");
//等同于import android.os.SystemProperties;
Method get = c.getMethod("get", String.class);
serial = (String) get.invoke(c, "persist.sys.getSNumber");
android.util.Log.e("getSerialNumber", "char: " + serial);
if (serial.contains("`")) {
serial = serial.replace("`", "");
}
} catch (Exception e) {
e.printStackTrace();
}
return serial;
}
}
Class<?> c = Class.forName(“android.os.SystemProperties”); //等同于import android.os.SystemProperties;通过种方式获取到SystemProperties的使用权