package com.example.usbvideotest;
import android.Manifest;
import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
private static final String TAG = "MainActivity";
List list = new ArrayList<>();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handlePermission();
Usb();
}
//动态申请权限
private boolean handlePermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
Log.d(TAG, "手机系统版大于等于AndroidM 先申请权限");
ArrayList permissions = new ArrayList<>();
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
if (permissions.size() != 0) {
requestPermissions(permissions.toArray(new String[permissions.size()]), 0);
return false;
}
}
return true;
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
Log.d(TAG, "WelcomeActivity收到权限通知:" + requestCode);
}
private void Usb() {
//获取指定路径下的所有文件
try {
// /storage/7BE3-1B00是U盘路径
list = getFilesAllName("/storage/7BE3-1B00");
} catch (Exception e) {
e.printStackTrace();
}
if (list != null) {
for (String listname : list) {
Log.e(TAG, "listname :" + listname);
//判断文件是不是MP4后缀
// if (listname.endsWith(".mp4")) {
// //获取路径下最后一个‘/’后的坐标
// int lastindex = listname.lastIndexOf("/");
// //获取具体文件名称
// String name = listname.substring(lastindex + 1, listname.length());
// //获取到想要的名称后,去干你想干的事
// //dosomething
// }
}
}
}
public static List getFilesAllName(String path) {
Log.e("path", path);
File file = new File(path);
Log.e("file", file + "");
File[] files = file.listFiles();
//没有权限files会变成null
Log.e("files", files + " ");
if (files == null) {
Log.e("error", "没有权限");
return null;
}
List s = new ArrayList<>();
for (int i = 0; i < files.length; i++) {
s.add(files[i].getAbsolutePath());
}
return s;
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)