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

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.SEND_SMS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission <uses-permission
android:name="android.permission.DEVICE_POWER" android:name="android.permission.DEVICE_POWER"
tools:ignore="ProtectedPermissions" /> tools:ignore="ProtectedPermissions" />

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

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

Loading…
Cancel
Save