在我使用Google gms vision进行面部检测之前,在我的应用中。我已经使用https://developers.google.com/android/reference/com/google/android/gms/vision/CameraSource.Builder在后台服务类中创建了camerasource。
但是在Firebase ML Kit中,没有为camerasource生成器和预览添加通用包。是否可以在Background服务类中使用CameraSourcePreview和CameraSource Builder。
通过在窗口管理器中的如下服务类中添加CameraSourcePreview布局,我感到很累。但是没有运气,它没有像我所排除的那样运行。每当我的服务启动时都需要检测人脸,而看不到预览布局。在应用程序背景和前景中,我还需要检测面部特征。
以下我用于在服务级别显示camerapreview的代码
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
View mView = inflater.inflate(R.layout.child_camerapreview, null);
wm.addView(mView, params);
Xml布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
>
<co.demo.facekit.common.CameraSourcePreview
android:id="@+id/childbgCameraPreview"
android:layout_width="match_parent"
android:layout_height="240dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true">
<co.demo.facekit.common.GraphicOverlay
android:id="@+id/childbgFaceOverlay"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"/>
</co.demo.facekit.common.CameraSourcePreview>
</RelativeLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
/>