《android获得进程名字的方法》
2017-07-12 18:31
316 查看
一、开发背景
不知道大家有没有遇到过这样一种情况,在使用app extend application 的app基类中的onCreate()方法中,由于多次启动不同的进程,导致onCreate()方法多次调用。而打印Log日志的时候只打印一次。出现这种情况,我使用文件存储记录,发现还真是被多次调用了。后来跟同事讨论,发现原来是因为多个进程启动了,才导致多次被调用。知道问题所在,后面的事情就好处理了。是的,我们需要获取到不同的进程,然后根据进程的名字进行事件判定监听,防止多次执行onCreate()。
二、工具类code
不知道大家有没有遇到过这样一种情况,在使用app extend application 的app基类中的onCreate()方法中,由于多次启动不同的进程,导致onCreate()方法多次调用。而打印Log日志的时候只打印一次。出现这种情况,我使用文件存储记录,发现还真是被多次调用了。后来跟同事讨论,发现原来是因为多个进程启动了,才导致多次被调用。知道问题所在,后面的事情就好处理了。是的,我们需要获取到不同的进程,然后根据进程的名字进行事件判定监听,防止多次执行onCreate()。
二、工具类code
/** * Created by Administrator on 2017/2/14. * 获得进程名字的方法 */ public class OsUtil { public static String getProcessName(Context cxt, int pid) { //获取ActivityManager对象 ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE); //在运行的进程的 List<ActivityManager.RunningAppProcessInfo> runningApps = am.getRunningAppProcesses(); if (runningApps == null) { return null; } for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) { if (procInfo.pid == pid) { return procInfo.processName; } } return null; } } 调用很简单,直接在onCreate()里面调用即可,获得相应的进程名字,然后做相应的处理。
相关文章推荐
- android 获得当前进程的名字
- VC获得系统当前进程以及某进程使用的模块的方法
- 一种注入进程,获得完全操控的方法之一[先贴过来,等下研究一下,看起来不错]
- Android下结束进程的方法
- android彻底结束进程的两种方法
- 如何获得上一个进程的pid的方法
- 获得父进程的方法
- android怎样多个application共享一个进程和异步访问UI的规则及方法
- 查看基于Android 系统单个进程内存、CPU使用情况的几种方法
- 9x下通过执行文件名获得进程ID的方法
- android 杀死进程的三种方法
- 一种注入进程,获得完全操控的方法之二
- 一种注入进程,获得完全操控的方法之一
- WindowsAPI详解——获得进程可执行文件路径的几种方法
- Android下结束进程的方法
- 一种注入进程,获得完全操控的方法之一[先贴过来,等下研究一下,看起来不错]
- asp.net获得当前页面名字的两种方法
- 获得进程的名字和ID(psapi)
- Android 结束进程的几种方法
- Linux下获得进程id和进程名字