[解決済み] Androidです。コンテンツURIからファイルURIを取得する?
2022-04-23 20:02:55
質問
私のアプリでは、ユーザーがオーディオファイルを選択し、アプリがそれを処理することになっています。問題は、アプリがオーディオファイルに対して私が望むことを行うために、URIがファイル形式である必要があることです。Android のネイティブミュージックプレーヤーを使用してアプリでオーディオファイルを参照する場合、URI は次のようなコンテンツ URI になります。
content://media/external/audio/media/710
しかし、人気のあるファイルマネージャーアプリケーションAstroを使用すると、次のようになります。
file:///sdcard/media/audio/ringtones/GetupGetOut.mp3
しかし、もちろん、ユーザーがコレクションをブラウズするために使用するプログラムに関係なく、ユーザーが選択したオーディオファイルの機能をアプリに持たせたいと考えています。そこで質問です。
content://
スタイルのURIを
file://
URIですか?そうでなければ、この問題を解決するために何をお勧めしますか?参考までに、チョーザーを呼び出すコードを以下に示します。
Intent ringIntent = new Intent();
ringIntent.setType("audio/mp3");
ringIntent.setAction(Intent.ACTION_GET_CONTENT);
ringIntent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(ringIntent, "Select Ringtone"), SELECT_RINGTONE);
私はコンテンツURIで次のようにしています。
m_ringerPath = m_ringtoneUri.getPath();
File file = new File(m_ringerPath);
そして、そのファイルに対してFileInputStreamのような処理をします。
解決方法は?
ただ
getContentResolver().openInputStream(uri)
を取得します。
InputStream
をURIから取得します。
関連
-
android:EMSのプロパティ
-
指定された子にはすでに親がいます。まず、その子の親に対して removeView() をコールする必要があります。
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] ファイルを変換します。AndroidでUriからファイルへ
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AndroidでAttempt to invoke virtual method... on null object referenceの例外が発生する。
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
AndroidStudio reports Could not resolve all artifacts for configuration ':app:classpath'.
-
アンドロイドプロジェクトのパッケージングにgradleを使用する際の問題点
-
JVMのエラーに遭遇しました。Java Runtime Environmentによって致命的なエラーが検出されました。
-
Androidで、onTouchEventでダブルクリックを実装し、ダブルクリックイベントとして判定する方法
-
アンドロイドリストビュー
-
AndroidStudioのショートカット 検索/置換
-
[解決済み] ファイルを変換します。AndroidでUriからファイルへ
-
[解決済み】Android 4.4 (KitKat) の Android Gallery が Intent.ACTION_GET_CONTENT に対して異なる URI を返してしまう。