注册 登录
  • 欢迎访问Sharezer Blog

通过adb获取task id

Adb sharezer 615次浏览 已收录 0个评论
/**
 * 通过包名获取task id,不存在为-1
 *
 * @param packageName
 * @return
 */
public int getTaskId(String packageName) {
    String result = execRootCmd("dumpsys activity | grep " + packageName);

    int start = result.indexOf("TaskRecord{");
    if(start > 0){
        int end = result.indexOf("}", start);
        if(start < end){
            String taskStr = result.substring(start + 1, end);
            start = -1;
            end = -1;

            start = taskStr.indexOf("#");
            if (start > 0) {
                end = taskStr.indexOf(" ", start);
                if (start < end) {
                    String idStr = taskStr.substring(start + 1, end);
                    Log.d(TAG, "getTaskId:" + idStr);
                    if (isNumeric(idStr))
                        return Integer.parseInt(idStr);
                }
            }
        }
    }

    return -1;
}

exeRootCmd可以见http://www.sharezer.com/archives/1314


Sharezer , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明通过adb获取task id
喜欢 (0)
[liangshaoze@sina.cn]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址