zoukankan      html  css  js  c++  java
  • android 获取调用camera service的进程

    int32_t CameraService::isMagicVideoApp(pid_t pid, char *buf, size_t len) {

      String16 StringMM("com.tencent.mm");

      String16 StringQQ("com.tencent.mobileqq:video");

      String16 StringSKYPE("com.skype.rover");

      char filename[30];

      int ret = 0; 

      FILE *f;

      sprintf(filename, "/proc/%d/cmdline", pid);

      f = fopen(filename, "r");

      LOGE("zzb:%s:f = %d",__func__,f);

      if (!f) { *buf = ''; ret = -1; }

      if (!fgets(buf, len, f)) { *buf = ''; ret = -2; }

      LOGE("zzb:gets string = %s",buf);

      fclose(f);

      String16 Stringtemp(buf);

      if(Stringtemp == StringMM)

      {
      ret = MAGIC_VIDEO_MM;
      }

      else if(Stringtemp == StringQQ)
      {
      ret = MAGIC_VIDEO_QQ;

      }

      else if(Stringtemp == StringSKYPE)
      {

      ret = MAGIC_VIDEO_SKYPE;
      } 

      else
      {
      ret = -3;

      }

      LOGE("zzb:%s:return ret = %d",__func__,ret);

      return ret;

    }

    调用

    status_t CameraService::getCameraInfo(int cameraId,struct CameraInfo* cameraInfo){

      ...

      char buf[100] = {0};

      int videoapp = isMagicVideoApp(getCallingPid(),buf,sizeof(buf));

    }

  • 相关阅读:
    中英切换
    vue-cli3 关闭一直运行的 /sockjs-node/info?t= ...
    vue 深拷贝
    C++ 中 typename
    将博客搬至CSDN
    死锁及处理
    C 运算符优先级
    阻塞与非阻塞,同步与异步
    同步函数与异步函数
    C 结构体位域
  • 原文地址:https://www.cnblogs.com/adamli/p/3216655.html
Copyright © 2011-2022 走看看