在开篇之前,如不了解 MediaRecorder,可以先行阅读 Android–MediaRecorder录音录像。
另外,在 stackoverflow 上也有关于 service 录像的回答:Background video recording in Android 4.0。我所实现的功能也参考了此 answer。
此外,关于 WindowsManager 的先验知识还可以参考这篇博客:Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果。
进入正题。
1、定义录像布局:recorder_layout.xml
<RelativeLayout
android:id="@+id/root"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:keepScreenOn="true"
>
<SurfaceView
android:id="@+id/sv_recorder"
android:layout_width="match_parent"
android:layout_height="match_parent"