プログラミング

Android App: How to share video in external storage to MediaStore?

投稿日:2023年10月24日 更新日:

Code

Android Studio Electric Eel | 2022.1.1 Patch 2
[Java]

String path = xxx; //path of the video in the App’s external storage
String fname = xxx; // file name of the video

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, fname);
values.put(MediaStore.Images.Media.MIME_TYPE, “video/avc”);
values.put(MediaStore.Images.Media.IS_PENDING, 1);

ContentResolver resolver = getApplicationContext().getContentResolver();
Uri collection = MediaStore.Video.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY);
Uri item = resolver.insert(collection, values);

InputStream in = new FileInputStream( path );

try (OutputStream out = getContentResolver().openOutputStream(item)) {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
}catch(Exception e) {

}

Note

InputStream in = getContentResolver().openInputStream( Uri.parse(path) )
// returns error: “No content provider”

-プログラミング

執筆者:

関連記事

blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

エラー内容と状況 JavascriptからPHPを呼び出したら下記エラーがAccess to XMLHttpRequest at ‘https://ooo/xxx.php’ f …

Railway.appでついにRegion選択が可能になった – 2023年版PaaS選び

PaaS選びの際、Web検索で情報収集をすると多くの記事が見つかりますが、料金情報などを並べただけで実際に利用した情報がないように思われます。本記事では実際に身銭を切っている立場からPaaS選びについ …

240Hzゲーミングモニターの勧め – 目に優しい?閃輝暗点の予防策

オンラインPCゲームにはまってしまい、ついには高価な240Hzゲーミングモニターを購入してしまいました。機種名は「Acer ゲーミングディスプレイ Nitro VG252QXbmiipx 24.5型ワ …

MacOSアプリ公開:備忘録、ライブラリLink

Web上にMacOSアプリ公開に関する情報は少なくて苦労しています。iPhoneアプリと比較した場合、MacOSアプリはAdmobで稼ぐという手段がなく有料版リリースをするしかないので開発者からは敬遠 …

iPhoneアプリ公開でAppStoreにて言語が英語になる場合の対処 | Xcode

日本語にしか対応していないアプリを作成してAppStoreConnectでも言語を日本語しか選択していないのに、公開したらAppStoreでの言語表記が「英語」に。日本語にしたい場合の対処法です。[対 …

スポンサーリンク