(二)Android系统信息

2016-01-13  本文已影响76人  TsuiJin

本文为Android的系统信息相关知识整理,具体参考了

  1. 系统信息获取

获取系统信息的两种方式:

String board = Build.BOARD;
String brand = Build.BRAND;
String os_version = System.getProperty("os.version");
String os_name = Ststem.getProperty("os.version");

系统信息来源,其中包含比函数获得的多得多的信息:

  1. 应用信息获取

2.1 PackageManager

PackageManager,重点在于获取应用的包信息。这些信息来自AndroidManifest.xml

AndroidManifest.xml的文件内容结构:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.teamir.mendcurse"
        android:versionCode="1"
        android:versionName="1.0" >
        
        <application
            android:name=".AppData"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
         
            <activity
                android:name="com.teamir.mendcurse.welcome.SplashActivity"
                android:label="@string/app_name"
                android:screenOrientation="landscape"
                android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >  
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>         
            </activity>

        </application>

    </manifest>

各个标签的封装类:

简单用法示例,提取所有应用名。当然也可以新建一个类,存到里面。

//获取PackageManager对象
pm = this.getPackageManager(); 
//获取所有的应用信息
List<ApplicationInfo> listApplications = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES) 
List<String> labelList = new ArrayList<String>();
for(ApplicationInfo app:listApplications){
    labelList.add((String)app.loadLabel(pm));
}

2.2 ActivityManager

ActivityManager,重点在于获得在运行的应用程序信息。

ActivityManager封装的重要的Bean对象:

示例,获取正在运行过的进程的pid:

ActivityManager mActivityManager =(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> appProcessList = mActivityManager.getRunningAppProcessInfo();

List<Integer> pidList = new ArrayList<Integer>();
for(int i = 0; i < appProcessList.size(); i++){
    pidList.add(info.pid);
}
上一篇 下一篇

猜你喜欢

热点阅读