This code works... although I'm not that keen on it, since it is definitely not part of the jars available. But it works:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView arch = (TextView)findViewById(R.id.arch);
TextView name = (TextView)findViewById(R.id.name);
TextView version = (TextView)findViewById(R.id.version);
TextView roversion = (TextView)findViewById(R.id.roversion);
TextView rofingerprint = (TextView)findViewById(R.id.rofingerprint);
arch.setText("os.arch: " + System.getProperty("os.arch"));
name.setText("os.name: " + System.getProperty("os.name"));
version.setText("os.version: " + System.getProperty("os.version"));
roversion.setText("ro.product.version: " + getProp("ro.product.version", "Not found"));
rofingerprint.setText("ro.build.fingerprint: " + getProp("ro.build.fingerprint", "Not found"));
}
private String getProp(String prop, String defaultVal)
{
String line = defaultVal;
try {
Process ifc = Runtime.getRuntime().exec("getprop " + prop);
BufferedReader bis = new BufferedReader(new InputStreamReader(ifc.getInputStream()));
line = bis.readLine();
ifc.destroy();
} catch (java.io.IOException e) {
}
return line;
}
This returns:
TextView arch = (TextView)findViewById(R.id.arch);
TextView name = (TextView)findViewById(R.id.name);
TextView version = (TextView)findViewById(R.id.version);
TextView roversion = (TextView)findViewById(R.id.roversion);
TextView rofingerprint = (TextView)findViewById(R.id.rofingerprint);
arch.setText("os.arch: " + System.getProperty("os.arch"));
name.setText("os.name: " + System.getProperty("os.name"));
version.setText("os.version: " + System.getProperty("os.version"));
roversion.setText("ro.product.version: " + System.getProperty("ro.product.version"));
rofingerprint.setText("ro.build.fingerprint: " + System.getProperty("ro.build.fingerprint"));
Which gave me this output on my HTC Legend:
os.arch : armv6l
os.name: Linux
os.version: 2.6.32.17-g30929af
ro.product.version: 3.15.405.3
ro.build.fingerprint: htc_wwe/htc_legend/legend/legend:2.2/FRF91/291292:user/release-keys
On Sunday, April 29, 2012 12:30:36 PM UTC+2, JP wrote:
I tried using this code:TextView arch = (TextView)findViewById(R.id.arch); TextView name = (TextView)findViewById(R.id.name );TextView version = (TextView)findViewById(R.id.version); TextView roversion = (TextView)findViewById(R.id.roversion); TextView rofingerprint = (TextView)findViewById(R.id.rofingerprint); arch.setText("os.arch: " + System.getProperty("os.arch")); version.setText("os.version: " + System.getProperty("os.version")); roversion.setText("ro.product.version: " + System.getProperty("ro. product.version")); rofingerprint.setText("ro.build.fingerprint: " + System.getProperty("ro.build. fingerprint")); Which gave me this output on my HTC Legend:os.arch : armv6los.name: Linuxos.version: 2.6.32.17-g30929afro.product.version: nullro.build.fingerprint: nullSo this didn't work either unfortunately... I'll keep looking!JP
On Monday, April 23, 2012 4:53:25 PM UTC+2, Chris Stratton wrote:On Monday, April 23, 2012 7:54:50 AM UTC-4, JP wrote:Didn't find anything unfortunately. Is this really impossible to do?Open an adb shell, type "getprop" and look at the result.Some entries which may be of interest:ro.build.fingerprintro.build.version.*ro.product.versionThese should be readable by apps; what I don't know off the top of my head is which (if any) are "stable API's" and which are private and thus subject to change without notice.
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
No comments:
Post a Comment