`
newbin
  • 浏览: 38461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android api code学习之ActivityManager

阅读更多

 最近学习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
11
1
分享到:
评论
4 楼 tienz 2010-06-30  
给份 代码 吧 非常 需要 mail:tienfook#gmail.com 谢谢!!!
3 楼 newbin 2010-04-03  
junwangandroid 写道
源代码还有没有啊?能不能发我一份,我现在急需这方面的例子,邮箱nangj@126.com谢谢啦


demo很简单啊,代码我找不见了,而且关键点代码我的文档已经说明了,呵呵,看看很容易自己就写个。
2 楼 junwangandroid 2010-04-02  
源代码还有没有啊?能不能发我一份,我现在急需这方面的例子,邮箱nangj@126.com谢谢啦
1 楼 lordhong 2009-12-20  
不错啊, 其实看源码可以学到很多东西 ;)

相关推荐

    Android API For StartActivityAndWait

    在Android系统中,`startActivityAndWait()`方法是一个关键的API,用于启动一个新的Activity并等待其完成。这个函数在不同版本的Android系统中略有差异,但核心功能保持一致:确保调用方能够同步地启动一个Activity...

    android 一个杀进程 程序分享,包含源代码

    源代码会涉及对Android系统的API调用,如`ActivityManager`和`PackageManager`的使用,以及可能的UI设计来展示和交互这些功能。 为了详细了解这个程序的工作原理和实现细节,你需要查看源代码本身。这将帮助你理解...

    获取手机正在运行的app,以及当前前台正在运行的app(兼容android6.0)

    自Android 6.0(API级别23)起,系统引入了运行时权限的概念,这意味着开发者需要在应用运行时请求敏感权限,而不是在安装时。对于获取运行中的APP信息,可能需要`GET_TASKS`权限,这是一个危险权限,因此需要在运行...

    android开发十个案例打包下载

    这需要使用ActivityManager和SystemService来获取和控制Android系统的运行状态。 5. **音乐播放器**:音乐播放器涵盖音频流播放、播放控制、歌曲列表管理等内容。开发者可能使用MediaPlayer或ExoPlayer库,处理音频...

    androidjava源码-android-java-source:自动从code.google.com/p/android-java-sou

    1. **frameworks**: 这个目录通常包含了Android系统的高层API框架,如ActivityManager、ContentProvider、BroadcastReceiver等核心组件的Java源代码。通过阅读这些源码,开发者可以了解Android如何处理应用程序的...

    android任务管理器(界面纯代码实现)

    请注意,随着Android系统的更新,获取任务信息的API可能会受到限制,因此在实际开发中,需要时刻关注Android版本的变化,并根据新的安全策略进行调整。同时,为提高用户体验,可以考虑添加排序、过滤和详细信息查看...

    android src

    在Android源码中,org可能包含了Android系统框架服务、开发者API以及其他开源项目的代码。 2. **android**: 这是Android系统的核心代码所在,包括系统服务、库、框架API等。在这里,你可以找到关于ActivityManager...

    PhoenixA20_android_system_sourcecode:系统源代码回购-Android system source code

    1. **Android Framework**:这部分源代码包含了Android应用程序运行所需的API框架,如ActivityManager、ContentProvider、BroadcastReceiver等。 2. **HAL(Hardware Abstraction Layer)**:硬件抽象层提供了与...

    通用Android工具库Common4Android.zip

    Common4Android是一个通用Android工具库,包含网络库、线程管理器、常用Util工具、热修复,它拥有良好的架构,低耦合、高内聚,使用起来非常轻松。 -基类 ClassName Description ...

    android_getCPU_stats_src

    Android提供了`ActivityManager.RunningAppProcessInfo`类,可以获取到应用的CPU使用率。此外,`BatteryStats`类提供电池和系统级别的统计信息,包括CPU使用情况。不过,这些API通常需要权限,并且可能受到Android...

    android 4.0 源码

    接着在Eclipse中新建一个Android Project,选择“Existing Android Code Into Workspace”,指向源码目录,最后配置编译路径和调试选项。 6. **调试与学习策略** 学习源码时,可以从关键模块入手,如Activity启动...

    androd部分源代码

    Android作为全球最受欢迎的移动操作系统之一,其源代码的开放性为开发者提供了深入了解系统运行机制的宝贵机会。本篇将基于提供的"androd部分源代码",结合Eclipse开发环境,深入探讨Android源码中的关键知识点。 ...

    安卓日志分析崩溃拦截相关-这个demo主要讲解了怎样使用log查看日志和怎样控制log的等级.zip

    可以使用`ActivityManager.RunningAppProcessInfo`类来获取应用的状态,或者利用Android Studio Profiler进行实时性能监控。 4. 崩溃报告收集:为了便于分析和修复错误,开发者通常会集成像Crashlytics、Bugsnag...

    解析Android获取系统cpu信息,内存,版本,电量等信息的方法详解

    总结起来,获取Android设备的CPU信息、内存状态、系统版本和电量信息涉及对系统文件的读取、使用Android提供的API以及监听系统广播。通过这些方法,开发者可以全面了解设备的实时状态,从而更好地优化应用或为用户...

    仿360悬浮窗口

    自Android 6.0(API级别23)开始,此权限需要在运行时由用户动态授予。因此,你需要在代码中检查并请求权限: ```java if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.M) { if (!Settings.canDrawOverlays...

    InjectDemo:实现对Android进程注入功能

    通过分析这些代码,我们可以学习如何使用ptrace、系统调用和其他Android API来实现进程注入。 7. **调试与测试**:在实际应用中,确保注入操作的稳定性和安全性是非常重要的。开发者可能需要构建一个测试环境,模拟...

    安卓控制软件

    这个软件的核心是通过Android SDK(Software Development Kit)中的API来实现的,开发者可以通过这些API与安卓系统进行交互。例如,可以使用`ActivityManager`类来控制应用程序的启动和关闭,`ContentResolver`用于...

    phone service and ril layer

    - **Framework Layer(框架层):** 提供 Android 系统的核心 API 和服务支持,包括 PhoneService。 - **RILJ Layer(RIL Java 层):** 作为 Java 层与原生层之间的桥梁,负责处理 RIL 请求。 - **RILD Daemon(RIL...

Global site tag (gtag.js) - Google Analytics