파일 열기(createChooser)
2020. 3. 27. 22:27ㆍKotlin
반응형
/**
* 다운로드 후 파일 열기
*/
private fun openFile(dirPath: String, name: String) {
try {
var file = File(dirPath.plus(File.separator).plus(name))
if (file.exists()) {
var mimeType = when {
name.endsWith("txt") -> "text/*"
name.endsWith("jpg") or name.endsWith("jpeg") or
name.endsWith("JPG") or name.endsWith("gif") or
name.endsWith("png") or name.endsWith("bmp") -> "image/*"
name.endsWith("doc") or name.endsWith("docx") -> "application/msword"
name.endsWith("xls") or name.endsWith("xlsx") -> "application/vnd.ms-excel"
name.endsWith("ppt") or name.endsWith("pptx") -> "application/vnd.ms-powerpoint"
name.endsWith("pdf") or name.endsWith("PDF") -> "application/pdf"
else -> "application/*"
}
var uri = FileProvider.getUriForFile(mContext, "$packageName.fileprovider", file)
startActivity(Intent.createChooser(Intent(Intent.ACTION_VIEW).apply {
flags = Intent.FLAG_ACTIVITY_NO_HISTORY
flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
putExtra(MediaStore.EXTRA_OUTPUT, uri)
setDataAndType(uri, mimeType)
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
}, "파일열기"))
}else {
// 파일 또는 디렉토리를 찾을 수 없습니다.
}
} catch (e: ActivityNotFoundException) {
} catch (err: Exception){
}
}
반응형
'Kotlin' 카테고리의 다른 글
LinearSmoothScroller&scrollToPositionWithOffset (0) | 2020.11.23 |
---|---|
file.copyTo (0) | 2019.12.20 |
Bitmap to File (0) | 2019.12.20 |
zip, unzip (0) | 2019.12.20 |
Bitmap in putExtra (0) | 2019.12.20 |