您的位置:首页 > 移动开发 > Android开发

android系统信息和应用信息

2017-05-22 13:55 176 查看
一.android安全信息的获取

1.系统信息

要获取系统的配置信息可以通过两个方面来获取:

类android.os.Build

SystemProperty(get方法)

用法如下:

Log.d(tag, Build.HOST);
Log.d(tag,Build.USER);
Log.d(tag,System.getProperty("os.version"));


注:这些信息的来源在哪里?

可以通过adb在/system/build.prop和/proc里面找到。

2.应用信息

如果说系统信息是GDP那么应用信息就是个人经济了。

和应用有关的有两个强大的指令集PM(PackageManager)和AM(ActivityManager)

PM:应用的包管理

AM:应用的活动管理

1)PM

首先看manifest文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mooc.prac">

<application
android:name=".application.BaseApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


由activity 标签包裹的代表了整个activity的信息,由activityInfo类进行封装

由manifest标签包裹的代表了manifest标签里的所有信息,系统提供PackageInfo进行封装。

1.一些常用的系统封装信息:

ActivityInfo: 封装了acitivity和receive之间的信息

ProviderInfo: 封装了provider之内的信息

ServiceInfo: 封装了service之间的信息

ApplicationInfo :封装了application之间的信息

PackageInfo: 封装了manifest节点之内的信息。

ResolveInfo: 这个比较特殊,他封装的是指定intent的上一层信息,可以是activity,service,contentprovider,broadCast等,一般在查找符合相关intent的组件时候使用。

2.PM的上述属性都可以通过相关方法查看,常用的有:

getApplicationInfo
getApplicationIcon
resolveActivity//返回符合intent的Activity
resolveService//
getInstalledApplications//返回以ApplicationInfo形式安装的应用
getInstalledPackages//返回以PackageInfo形式安装的应用。


注意:可以用ApplictionInfo的flags属性判断应用类型,具体大家可以百度

2)ActivityManager

ActivityManager.MemoryInfo:系统内存信息

Debug.MemoryInfo:进程内存信息

RunningAppProgressInfo:正在运行的进程信息

RuningServiceInfo:正在运行的服务信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android