当前位置: 首页 > news >正文

外贸做中英文网站seo课程培训入门

外贸做中英文网站,seo课程培训入门,用Java做知乎网站,中国建设银行网站登录安卓6.0中使用usb摄像头,发现当系统启动完成后再接入usb摄像头,此种情况下,无法使用系统相机进行预览,只有接入usb摄像头后再启动整机才可以使用系统相机进行预览,于是把修改过程保留 diff --git a/android/framework…

安卓6.0中使用usb摄像头,发现当系统启动完成后再接入usb摄像头,此种情况下,无法使用系统相机进行预览,只有接入usb摄像头后再启动整机才可以使用系统相机进行预览,于是把修改过程保留

diff --git a/android/frameworks/av/services/camera/libcameraservice/CameraService.cpp b/android/frameworks/av/services/camera/libcameraservice/CameraService.cpp
index 7c4594fa4b..8901ebe55a 100644
--- a/android/frameworks/av/services/camera/libcameraservice/CameraService.cpp
+++ b/android/frameworks/av/services/camera/libcameraservice/CameraService.cpp
@@ -413,10 +413,24 @@ int32_t CameraService::getNumberOfCameras() {int32_t CameraService::getNumberOfCameras(int type) {ATRACE_CALL();
+    bool hasFirstRef = false;
+    char value[PROPERTY_VALUE_MAX];switch (type) {case CAMERA_TYPE_BACKWARD_COMPATIBLE:
+           ALOGD("getNumberOfCamerasgetNumberOfCameras CAMERA_TYPE_BACKWARD_COMPATIBLE=%d",mNumberOfNormalCameras);
+           if(0 == mNumberOfNormalCameras) {
+                ALOGE("No camera be found ! check again...");
+                onFirstRef();
+                hasFirstRef = true;
+            }
+           property_get("persist.sys.usbcamera.status", value, "");
+           if( (strcmp(value, "add") == 0) || (strcmp(value, "remove") == 0) ) {
+               ALOGD("update camera for usb action");
+               if(!hasFirstRef) onFirstRef();
+           }return mNumberOfNormalCameras;case CAMERA_TYPE_ALL:
+           ALOGD("getNumberOfCamerasgetNumberOfCameras CAMERA_TYPE_ALL");return mNumberOfCameras;default:ALOGW("%s: Unknown camera type %d, returning 0",
diff --git a/android/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java b/android/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
index 965341e418..6db85c6212 100644
--- a/android/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/android/frameworks/base/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -33,6 +33,8 @@ import java.io.FileDescriptor;import java.io.PrintWriter;import java.util.ArrayList;import java.util.HashMap;
+import android.os.SystemClock;
+import android.os.SystemProperties;/*** UsbHostManager manages USB state in host mode.
@@ -62,6 +64,9 @@ public class UsbHostManager {@GuardedBy("mLock")private UsbSettingsManager mCurrentSettings;
+    private long mLastUsbEvent = 0;
+    private String mLastUsbAction = "";
+public UsbHostManager(Context context, UsbAlsaManager alsaManager) {mContext = context;
@@ -224,6 +229,7 @@ public class UsbHostManager {Slog.d(TAG, "Added device " + mNewDevice);getCurrentSettings().deviceAttached(mNewDevice);mUsbAlsaManager.usbDeviceAdded(mNewDevice);
+               checkUsbCameraStatus(mNewDevice, true);} else {Slog.e(TAG, "mNewDevice is null in endUsbDeviceAdded");}
@@ -243,6 +249,36 @@ public class UsbHostManager {if (device != null) {mUsbAlsaManager.usbDeviceRemoved(device);getCurrentSettings().deviceDetached(device);
+               checkUsbCameraStatus(device, false);
+            }
+        }
+    }
+
+    private void checkUsbCameraStatus(UsbDevice device, boolean added) {
+        if (device != null) {
+            String devicename = device.getDeviceName();
+            String productname = device.getProductName();
+            if ((devicename != null && devicename.toLowerCase().contains("cam")) ||
+                   (productname != null && productname.toLowerCase().contains("cam")) ) {
+                try {
+                    if (mLastUsbAction != null && mLastUsbAction.equals(added? "add" : "remove") && SystemClock.uptimeMillis() - mLastUsbEvent < 1200) {
+                        Slog.i(TAG, "USB HOST EVENT send double, ignore this!");
+                        return;
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                mLastUsbAction = added? "add" : "remove";
+                mLastUsbEvent = SystemClock.uptimeMillis();
+               if (!added){
+                   Slog.d(TAG,"usb camera removed");
+                   SystemProperties.set("persist.sys.usbcamera.status","remove");
+               } else {
+                   Slog.d(TAG,"usb camera added");
+                   SystemProperties.set("persist.sys.usbcamera.status","add");
+               }
+                int num = android.hardware.Camera.getNumberOfCameras();
+               SystemProperties.set("persist.sys.usbcamera.status","");}}}
http://www.ritt.cn/news/1733.html

相关文章:

  • 石家庄网站建设石家庄百度导航最新版本免费下载
  • 网站开发如何做下载支付天津短视频seo
  • 虎鲸微信管理系统博客seo优化技术
  • 网站域名续费后SEO查询未更换卖友情链接的哪来那么多网站
  • 怎么做网址导航网站指数基金有哪些
  • 做网站买空间青岛官网优化
  • 著名的设计企业网站百度知道下载
  • 网站网站制作服务怎样建立网站平台
  • 论坛类的网站怎么做有哪些可以免费推广的平台
  • 设计网站faq需注意关键词搜索站长工具
  • 青海省建设厅报名网站阿里指数官网入口
  • 网站建设的基础常识在线教育
  • 国外网站推广短视频营销推广方案
  • 开发手机端网站冬镜seo
  • 南京做网站建设有哪些内容网站关键词排名怎么优化
  • 企业的网站维护网络优化需要哪些知识
  • 企业做网站营销的四大途径怎么搜索关键词
  • 免费网站建设 优帮云免费网站seo诊断
  • 网站建设时间计划表怎么免费注册域名
  • 海南网站建站上海优化公司排行榜
  • 免费域名网站创建设计网站logo
  • 东莞做网站公司有哪些南宁seo服务公司
  • 淮北建设机械网站最近一周的重大新闻
  • 网站建设一般做什么站长工具seo综合查询可以访问
  • 自己做的网站本地调试江苏网站开发
  • 南京 网站设计360seo
  • 英语写作网站百度认证营销顾问
  • wordpress metro手机主题肇庆百度快照优化
  • 广州专业网站关键词有几种类型
  • 商业网站建设试题seo初级入门教程