WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
Android
システム開発
[Android][Kotlin]動画ファイルを選択しファイル名とファイルサイズの取得
システム開発担当のTFです。
※Android10対応(他バージョンの場合、細かい部分等が異なる事があります)
やり方
- intentで動画のピッカーを立ち上げる
- registerForActivityResultで受け取る
- 受け取った結果からintentを取得し、ファイル情報を取得する
参考
Androidで 静止画と動画のピッカーで選択したコンテンツのファイルパスを取得する
一般的なインテント
アクティビティの結果を取得する
ファイル情報の取得
サンプル
// intentで動画のピッカー立ち上げ
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.setType("video/*");
// 下記で設定したregisterForActivityResultで起動する
activityResult.launch(intent)
// 結果の受け取り
val activityResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
if (result.resultCode == RESULT_OK) {
// intent 取得
val intent = result.data
// intentからファイル情報の取得
intent?.data?.let { returnUri ->
contentResolver.query(returnUri, null, null, null, null)
}?.use { cursor ->
// indexの取得
val nameIndex = cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)
val sizeIndex = cursor.getColumnIndex(OpenableColumns.SIZE)
cursor.moveToFirst()
// ファイル名の取得
Log.v("FileName", cursor.getString(nameIndex))
// ファイルサイズの取得
Log.v("FileSize", cursor.getLong(sizeIndex).toString())
}
}
}