3)获取AndroidManifest.xml的信息
1.versionCode
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- getPackageManager().getPackageInfo(packageName, 0).versionCode
可以用Context.gerPackageName()取得packageName
2.versionName
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- getPackageManager().getPackageInfo(packageName, 0).versionName
- getPackageManager().getPackageInfo(pName, PackageManager.GET_CONFIGURATIONS);
4)Android判断应用是否存在
1.通过包名判断
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- public boolean checkBrowser(String packageName) {
- if (packageName == null || "".equals(packageName))
- return false;
- try {
- ApplicationInfo info = getPackageManager().getApplicationInfo(
- packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
- return true;
- } catch (NameNotFoundException e) {
- return false;
- }
- }
2.通过Activity判断
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setClassName("com.android.settings",
- "com.android.settings.InstalledAppDetails");
- intent.putExtra("com.android.settings.ApplicationPkgName",
- mCurrentPkgName);
- List acts = getPackageManager().queryIntentActivities(
- intent, 0);
- if (acts.size() > 0) {
- startActivity(intent);
- } else {
- Toast.makeText(this,
- getString(R.string.failed_to_resolve_activity),
- Toast.LENGTH_SHORT).show();
- }
5)获取设备屏幕分辨率
首先我们需要用到的是DisplayMetrics这个类,它可以为我们获得手机屏幕属性,这里将其所在类导入。
- import android.util.DisplayMetrics;
得到实例对象。
- DisplayMetrics dm = new DisplayMetrics();
- getWindowManager().getDefaultDisplay().getMetrics(dm);
得到手机屏幕高度:
得到手机屏幕宽度:
得到以上手机屏幕的高度跟宽度后,即可以通过这两个值按照比例还设定程序布局中空间的大小。
6)获取CPU序列号
·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150
-
-
-
-
-
-
- public static String getCPUSerial() {
- String str = "", strCPU = "", cpuAddress = "0000000000000000";
- try {
-
- Process pp = Runtime.getRuntime().exec("cat /proc/cpuinfo");
- InputStreamReader ir = new InputStreamReader(pp.getInputStream());
- LineNumberReader input = new LineNumberReader(ir);
-
- for (int i = 1; i
- str = input.readLine();
- if (str != null) {
-
- if (str.indexOf("Serial") > -1) {
-
- strCPU = str.substring(str.indexOf(":") + 1,
- str.length());
-
- cpuAddress = strCPU.trim();
- break;
- }
- }else{
-
- break;
- }
- }
- } catch (IOException ex) {
-
- ex.printStackTrace();
- }
- return cpuAddress;
- }
7)获取位置信息: locationManager
1.获取LocationManager对象
- String serviceString = Context.LOCATION_SERVICE;
- LocationManager LocationManager = (LocationManager)getSystemService(serviceString);
2.选择定位方法
2.1 GPS_PROVIDER: GPS
2.2 NETWORK_PROVIDER: NETWORK
以network为例:
- String provider = LocationManager.NETWORK_PROVIDER
- Location location = locationManager.getLaskKnownLocation(provider);
- double lat = location.getLatitude();
- double lng = location.getLongitude();
8)当前时间和时区
System.currentTimeMillis()获取当前时间
时区:
TimeZone.getDefault();