Android 如何通过java反射得到build.prop的键值对
2017-08-23 15:10
399 查看
系统应用读取build.prop
在手机系统开发中,我们可以通过android.os.SystemProperties 来读取build.prop的键值对,但是android.os.SystemProperties对没有对外开放给sdk api。所以第三方应用无法通过系统的方法得到键值对通过java反射机制
demo如下:package com.example.administrator.fotacheck; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class MainActivity extends AppCompatActivity { private TextView mDevice; private TextView mOtaVersion; private TextView mDate; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDevice=(TextView)findViewById(R.id.device); mOtaVersion=(TextView)findViewById(R.id.otaversion); mDate=(TextView)findViewById(R.id.date); try { Class<?> classtype = Class.forName("android.os.SystemProperties"); Method method = classtype.getDeclaredMethod("get",new Class<?>[]{String.class}); String value = (String) method.invoke(classtype,"ro.ota.version"); mOtaVersion.setText(String.format(getString(R.string.ota_version),value)); value= (String) method.invoke(classtype,"Fota.device"); mDevice.setText(String.format(getString(R.string.device),value)); value= (String) method.invoke(classtype,"ro.ota.date"); mDate.setText(String.format(getString(R.string.date),value)); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } }
相关文章推荐
- Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数
- Android通过反射获取build.prop中key对应的value
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- 通过Java得到的时间与操作系统时间不一致,如何修改Java虚拟机时间?
- 记录android点滴(一)--通过build.prop实现产品定制的方法
- 【转】Android系统原理与源码分析:利用Java反射技术阻止通过按钮关闭对话框
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- Java通过反射得到其属性的值包含父类属性
- 如何在android环境下进行ttf解析,通过获取文件头信息得到字体名称!
- 记录android点滴(一)--通过build.prop实现产品定制的方法
- Object get["属性"]; java反射技术通过对象和属性名得到属性值
- 如何Android Apk反编译得到Java源代码
- [Java] 如何通过当前时间得到日期,月份,年
- 如何设置Android 系统的属性,Build.prop, defualt.prop
- 设计模式之1.1 再谈反射 以及java当中通过配置文件得到类名字,并生成对象的方法
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- java如何通过反射 激活静态类的静态方法
- 如何理解java中的依赖注入 通过构造函数和反射机制来实现的
- Android系统原理与源码分析(1):利用Java反射技术阻止通过按钮关闭对话框
- Android 如何通过menu id来得到menu item 控件