プログラミング

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”

-プログラミング

執筆者:

関連記事

Mac miniに移行して世界が変わった。MacBook Proは2度と買わない

MacBook Pro(2016)からMac miniに移行して半年くらいが経ちました。何の問題もなく快適に使用できています。移行の経緯とMac Mini使用の感想などについて述べたいと思います。 目 …

Found an unexpected Mach-O header code: 0x72613c21 への対処 Xcode, Admob, xcframework

日々変わっていくAdmobの仕様への対応にとても苦労しています。そんな中、アプリをApple Store Connectへ提出するためXcodeにてArchiveを作成してValidateしようとした …

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 …

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

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

サイトの仕様: ナビゲーションを解決する方法。Admobポリシーセンター広告制限

一年ほど前、突如としてAndroidアプリのAdmob広告に配信制限がかかりました。理由は「サイトの仕様: ナビゲーション」。これが厄介で、一体何を修正すべきなのかが全く分かりません。Web検索をかけ …