最近学习android,总感觉看文档太慢,而且总是提不起学习的兴趣来,于是决定看api源码,然后试着做一些练习,看的是2.0的api源码.首先看的是android.app包中的代码,主要是activity相关的api代码.当看完ActivityManager这个类的doc时,想着能不能做个类似windows的任务管理器的小app.简单的管理app 的process.
从ActivityManager这个类中可以得到device configuration attributes,process memory information,recently launched tasks,running application processes,running service,running tasks等信息:
得到的方法如下:
ActivityManager activityManager = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
ConfigurationInfo configurationInfo = activityManager.getDeviceConfigurationInfo();
Debug.MemoryInfo[] processMemoryInfo = activityManager.getProcessMemoryInfo(processIds);
List<RunningServiceInfo> runningServiceInfos = activityManager.getRunningServices(MaxValue);
List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(MaxValue);
我想做的就是得到这些信息,然后进行简单的管理,(如显示详细信息,停止process等).需要注意的是在得到一些信息时要得到需要在你的application中设置相应的权限,如Task信息要要有android.Manifest.permission.GET_TASKS.程序很简单,下面上几张我的app抓图:
1.进入我的app显示
2,选中一个listitem后
3,选中detail操作:
4,进行stop操作:
能进行stop的runningAppProcess和不能进行stop
说明下:stop后被stop的app就不会显示,这里不能进行stop的runningAppProcess是根据app的improtance进行判断的,只有importance<500的能进行stop.
5,最后是about,给自己做做广告,嘿嘿:
这个app中只做了RunningAppProcess的简单操作.程序中還用到的android有android.widget.TabHost 页签管理,android.widget.Toast 提示信息Toast,android.content.DialogInterface 对话筐.
.apk文件在附件中,代码写的比较乱,整理下传上来.
欢迎大家提出意见和建议.谢谢.
恩,终于找到源码了,上传。不过没整理,大家见谅。。。
- 大小: 16 KB
- 大小: 9.4 KB
- 大小: 18.7 KB
- 大小: 15.8 KB
- 大小: 12.8 KB
- 大小: 19 KB
- 大小: 18.5 KB
分享到:
相关推荐
在Android系统中,`startActivityAndWait()`方法是一个关键的API,用于启动一个新的Activity并等待其完成。这个函数在不同版本的Android系统中略有差异,但核心功能保持一致:确保调用方能够同步地启动一个Activity...
源代码会涉及对Android系统的API调用,如`ActivityManager`和`PackageManager`的使用,以及可能的UI设计来展示和交互这些功能。 为了详细了解这个程序的工作原理和实现细节,你需要查看源代码本身。这将帮助你理解...
自Android 6.0(API级别23)起,系统引入了运行时权限的概念,这意味着开发者需要在应用运行时请求敏感权限,而不是在安装时。对于获取运行中的APP信息,可能需要`GET_TASKS`权限,这是一个危险权限,因此需要在运行...
这需要使用ActivityManager和SystemService来获取和控制Android系统的运行状态。 5. **音乐播放器**:音乐播放器涵盖音频流播放、播放控制、歌曲列表管理等内容。开发者可能使用MediaPlayer或ExoPlayer库,处理音频...
1. **frameworks**: 这个目录通常包含了Android系统的高层API框架,如ActivityManager、ContentProvider、BroadcastReceiver等核心组件的Java源代码。通过阅读这些源码,开发者可以了解Android如何处理应用程序的...
请注意,随着Android系统的更新,获取任务信息的API可能会受到限制,因此在实际开发中,需要时刻关注Android版本的变化,并根据新的安全策略进行调整。同时,为提高用户体验,可以考虑添加排序、过滤和详细信息查看...
在Android源码中,org可能包含了Android系统框架服务、开发者API以及其他开源项目的代码。 2. **android**: 这是Android系统的核心代码所在,包括系统服务、库、框架API等。在这里,你可以找到关于ActivityManager...
1. **Android Framework**:这部分源代码包含了Android应用程序运行所需的API框架,如ActivityManager、ContentProvider、BroadcastReceiver等。 2. **HAL(Hardware Abstraction Layer)**:硬件抽象层提供了与...
Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description ...
Android提供了`ActivityManager.RunningAppProcessInfo`类,可以获取到应用的CPU使用率。此外,`BatteryStats`类提供电池和系统级别的统计信息,包括CPU使用情况。不过,这些API通常需要权限,并且可能受到Android...
接着在Eclipse中新建一个Android Project,选择“Existing Android Code Into Workspace”,指向源码目录,最后配置编译路径和调试选项。 6. **调试与学习策略** 学习源码时,可以从关键模块入手,如Activity启动...
Android作为全球最受欢迎的移动操作系统之一,其源代码的开放性为开发者提供了深入了解系统运行机制的宝贵机会。本篇将基于提供的"androd部分源代码",结合Eclipse开发环境,深入探讨Android源码中的关键知识点。 ...
可以使用`ActivityManager.RunningAppProcessInfo`类来获取应用的状态,或者利用Android Studio Profiler进行实时性能监控。 4. 崩溃报告收集:为了便于分析和修复错误,开发者通常会集成像Crashlytics、Bugsnag...
总结起来,获取Android设备的CPU信息、内存状态、系统版本和电量信息涉及对系统文件的读取、使用Android提供的API以及监听系统广播。通过这些方法,开发者可以全面了解设备的实时状态,从而更好地优化应用或为用户...
自Android 6.0(API级别23)开始,此权限需要在运行时由用户动态授予。因此,你需要在代码中检查并请求权限: ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (!Settings.canDrawOverlays...
通过分析这些代码,我们可以学习如何使用ptrace、系统调用和其他Android API来实现进程注入。 7. **调试与测试**:在实际应用中,确保注入操作的稳定性和安全性是非常重要的。开发者可能需要构建一个测试环境,模拟...
这个软件的核心是通过Android SDK(Software Development Kit)中的API来实现的,开发者可以通过这些API与安卓系统进行交互。例如,可以使用`ActivityManager`类来控制应用程序的启动和关闭,`ContentResolver`用于...
- **Framework Layer(框架层):** 提供 Android 系统的核心 API 和服务支持,包括 PhoneService。 - **RILJ Layer(RIL Java 层):** 作为 Java 层与原生层之间的桥梁,负责处理 RIL 请求。 - **RILD Daemon(RIL...