多人PK人数和窗口不对应问题 处理中

This commit is contained in:
老皮
2024-11-01 10:46:27 +08:00
parent d05c975068
commit ee431d0ee2
3 changed files with 86 additions and 3 deletions

View File

@@ -0,0 +1,66 @@
package com.yunbao.main;
/**
* Author: plx
* Date: 2024/11/1
* Description:
*/
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Environment;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopier {
private static final int REQUEST_WRITE_STORAGE = 112;
public void copyLogsToExternalStorage(Context context) {
// 检查并请求写入外部存储的权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_STORAGE);
return;
}
}
// 定义源目录和目标目录
File sourceDir = new File(context.getFilesDir(), "log");
File targetDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "app_logs");
// 确保目标目录存在
if (!targetDir.exists()) {
targetDir.mkdirs();
}
// 复制文件
File[] logFiles = sourceDir.listFiles((dir, name) -> name.endsWith(".log"));
if (logFiles != null) {
for (File logFile : logFiles) {
File targetFile = new File(targetDir, logFile.getName());
try (InputStream in = new FileInputStream(logFile);
OutputStream out = new FileOutputStream(targetFile)) {
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}