判断是否主进程

来源:互联网 发布:mac版microsoft visio 编辑:程序博客网 时间:2024/06/15 20:40

private static PJApplication myApplication = null;  
private final static String PROCESS_NAME = "com.game.qz.tcdzz0.nearme.gamecenter";  


/** 

     * 判断是不是UI主进程,因为有些东西只能在UI主进程初始化 
     */  
    public static boolean isAppMainProcess() {  
        try {  
            int pid = android.os.Process.myPid();  
            String process = getAppNameByPID(PJApplication.getApplication(), pid);  
            if (TextUtils.isEmpty(process)) {  
                return true;  
            } else if (PROCESS_NAME.equalsIgnoreCase(process)) {  
                return true;  
            } else {  
                return false;  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
            return true;  
        }  
    }  
    
    /** 
     * 根据Pid得到进程名 
     */  
    public static String getAppNameByPID(Context context, int pid) {  
        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  
        for (android.app.ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {  
            if (processInfo.pid == pid) {  
                return processInfo.processName;  
            }  
        }  
        return "";  
    } 
0 0
原创粉丝点击