短视频拍摄时如果锁屏时自动开屏

hdrplus
Matthew 1 year ago
parent dbffb7a0b1
commit 3115e207ca

@ -54,6 +54,7 @@
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission
android:name="android.permission.DEVICE_POWER"
tools:ignore="ProtectedPermissions" />

@ -1,6 +1,8 @@
package com.xypower.mpapp;
import android.Manifest;
import android.app.Activity;
import android.app.KeyguardManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;

@ -179,7 +179,20 @@ public class Camera2VideoActivity extends AppCompatActivity {
requestWindowFeature(Window.FEATURE_NO_TITLE);
Window win = getWindow();
win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
int flags = /*WindowManager.LayoutParams.FLAG_FULLSCREEN
| */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
int mask = /*WindowManager.LayoutParams.FLAG_FULLSCREEN |
| */WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
win.setFlags(flags, mask);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setShowWhenLocked(true);
}
setContentView(R.layout.activity_camera2_video);
@ -303,13 +316,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
mHandler = new Handler();
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
@Override
protected void onResume() {
super.onResume();
Log.i("OSD", "onResume");
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
@ -319,12 +325,24 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void run() {
mNextVideoAbsolutePath = getVideoFilePath();
if (mGPUCameraRecorder != null) {
mGPUCameraRecorder.start(mNextVideoAbsolutePath);
} else {
int aa = 0;
}
}
}, 0);
}
}, 100);
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
@Override
protected void onResume() {
super.onResume();
Log.i("OSD", "onResume");
}
@Override
@ -332,7 +350,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
super.onStop();
Log.i("OSD", "onStop");
// releaseCamera();
}
@Override
@ -535,7 +553,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
int statusHeight = mStatusBarHeight;
Canvas canvas = new Canvas(bm);
boolean aa = canvas.isHardwareAccelerated();
// boolean aa = canvas.isHardwareAccelerated();
Rect textBounds = new Rect();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
@ -611,6 +629,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
mGPUCameraRecorder.stop();
mGPUCameraRecorder.release();
mGPUCameraRecorder = null;
Log.i("OSD", "mGPUCameraRecorder destroyed");
}
if (mPreviewView != null) {
@ -658,8 +677,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
int width = right - left;
int height = bottom - top;
@ -721,13 +738,11 @@ public class Camera2VideoActivity extends AppCompatActivity {
.cameraRecordListener(new CameraRecordListener() {
@Override
public void onGetFlashSupport(boolean flashSupport) {
}
@Override
public void onRecordComplete() {
// mHandler.removeCallbacks(mTimerRunnable);
}
@Override
@ -742,7 +757,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
int aa = 0;
}
}, 1200L + mDuration * 1000);
}
@Override
@ -771,7 +785,6 @@ public class Camera2VideoActivity extends AppCompatActivity {
@Override
public void onDurationArrived() {
}
})
.videoSize(mVideoWidth, mVideoHeight)
@ -781,6 +794,7 @@ public class Camera2VideoActivity extends AppCompatActivity {
.duration(mDuration * 1000)
.build();
Log.i("OSD", "mGPUCameraRecorder created");
if (mOSDFilter != null) {
mGPUCameraRecorder.setFilter(mOSDFilter);
}

Loading…
Cancel
Save