这个是别人的代码,自己忘了地址,只是给自己记录插个眼
获取本地文件
在MainActivity 中写方法
/**
* android 打开本地文件
* @param path 本地文件路径(带文件名)
*/
public void openFileNew(String path, Context context) {
try {
File file = new File(path);
Uri uri = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {//24 android7
uri = FileProvider.getUriForFile(context, context.getPackageName() + ".fileprovider", file);
} else {
uri = Uri.fromFile(file);
}
context.grantUriPermission(context.getPackageName(), uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
Intent intent2 = new Intent("android.intent.action.VIEW");
intent2.addCategory("android.intent.category.DEFAULT");
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent2.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Log.d("sss", "opneFile: uri " + uri.toString());
String type = AndroidFileUtil.getMIMEtype(path);
intent2.setDataAndType(uri, type);
context.startActivity(intent2);
} catch (Exception e) {
Log.d("sss", "loadAccessorySuccess: error " + e.toString());
}
}
再写获取文件类型的方法
public class AndroidFileUtil {
public static String getMIMEtype(String path){
String type="*/*";
//获取后缀名前的分隔符“.”在fileName中的位置
int dotIntex=path.lastIndexOf(".");
if(dotIntex<0){
return type;
}
/*获取文件的后缀*/
String fileType=path.substring(dotIntex,path.length()).toLowerCase();
if(fileType=