"file:///mnt/sdcard/3dphoto/temp19.jps" のようなファイルの実際のパスは、どのようにして取得できますか?content:// media/external/images/media/1 "?実際のパスからUriを取得する
答えて
"file:// ..."をファイルパスに変換し、次のコードでアイテムのIDを見つけてプロバイダURIに追加します。ファイル拡張子に基づいて、また、右のプロバイダ(例えばMediaStore.Video.Media.EXTERNAL_CONTENT_URIまたはMediaStore.Image.Media.EXTERNAL_CONTENT_URI)を使用
/**
* Given a media filename, returns it's id in the media content provider
*
* @param providerUri
* @param appContext
* @param fileName
* @return
*/
public long getMediaItemIdFromProvider(Uri providerUri, Context appContext, String fileName) {
//find id of the media provider item based on filename
String[] projection = { MediaColumns._ID, MediaColumns.DATA };
Cursor cursor = appContext.getContentResolver().query(
providerUri, projection,
MediaColumns.DATA + "=?", new String[] { fileName },
null);
if (null == cursor) {
Log.d(TAG_LOG, "Null cursor for file " + fileName);
return ITEMID_NOT_FOUND;
}
long id = ITEMID_NOT_FOUND;
if (cursor.getCount() > 0) {
cursor.moveToFirst();
id = cursor.getLong(cursor.getColumnIndexOrThrow(BaseColumns._ID));
}
cursor.close();
return id;
}
つのメディアファイルがある後時にはMediaProviderがすぐに更新されません。デバイスのストレージに追加されました。あなたは、このメソッドを使用して、そのレコードを更新するために強制することができます
/**
* Force a refresh of media content provider for specific item
*
* @param fileName
*/
private void refreshMediaProvider(Context appContext, String fileName) {
MediaScannerConnection scanner = null;
try {
scanner = new MediaScannerConnection(appContext, null);
scanner.connect();
try {
Thread.sleep(200);
} catch (Exception e) {
}
if (scanner.isConnected()) {
Log.d(TAG_LOG, "Requesting scan for file " + fileName);
scanner.scanFile(fileName, null);
}
} catch (Exception e) {
Log.e(TAG_LOG, "Cannot to scan file", e);
} finally {
if (scanner != null) {
scanner.disconnect();
}
}
}
次に、コンテキストに何を渡す必要がありますか? – newstartgirls
アプリケーションのコンテキスト、呼び出しアクティビティ、コードを呼び出すことで得ることができるあらゆる種類のコンテキスト... – Rainbowbreeze
逆の方法は誰でも知っていますか?実際に私は "content://"からファイルを作成したいと思っています –
私は私のファイルエクスプローラの活動のために同じ質問を持っていた...しかし、uがファイルのcontenturiのみ画像、オーディオおよびビデオなどのメディアストアのデータをサポートしていTHT KNW必要があります....私はSDカードから画像を選択から画像コンテンツのURIを取得するためにあなたを与えている....このコードを試してみてください... ...それはあなたのために働くだろう
public static Uri getImageContentUri(Context context, File imageFile) {
String filePath = imageFile.getAbsolutePath();
Cursor cursor = context.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Images.Media._ID },
MediaStore.Images.Media.DATA + "=? ",
new String[] { filePath }, null);
if (cursor != null && cursor.moveToFirst()) {
int id = cursor.getInt(cursor
.getColumnIndex(MediaStore.MediaColumns._ID));
Uri baseUri = Uri.parse("content://media/external/images/media");
return Uri.withAppendedPath(baseUri, "" + id);
} else {
if (imageFile.exists()) {
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, filePath);
return context.getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
} else {
return null;
}
}
}
そして、それが画像やビデオでない場合はどうなりますか?私たちはどうしたらいいですか? – soshial
もう一つの簡単な方法かもしれません。
File file = new File(Path);
Uri uri = Uri.fromFile(file);
この場合、フォルダの特殊文字は解決できません。良くない。 –
- 1. ギャラリーから画像を選択してアンドロイドURIから実際のパスを取得します
- 2. Asp.NET/VB.NET:URL/URIからパスを取得していますか?
- 3. Java:FilePathからURIを取得
- 4. BitmapImageをWeb URIから取得する
- 5. 共有パスからファイルを開く際のIOExceptionの取得
- 6. URIのパスで変数を取得する
- 7. デフォルトのWebプロキシからURIを取得
- 8. URIでウェブから画像を取得
- 9. Jqueryから実際のオブジェクトを取得するには?
- 10. Spotify - URIからの取得nullデータ
- 11. モジュール名からパスを取得する
- 12. ClickOnceからInstalltionパスを取得する
- 13. クラスの静的ブロック内のフォルダの実際のパスを取得するには
- 14. Android:指定されたパスから画像を取得する際の問題
- 15. スタックトレースから実際のタイプを取得できますか?
- 16. JFrame:実際のコンテンツサイズを取得する
- 17. C#のURI文字列からファイル名を取得する
- 18. MediaLibraryから曲のURIを取得する方法は?
- 19. レールアプリケーションのURIからファイル拡張子を取得するには
- 20. データベースmarklogicからドキュメントURIのリストを取得するには?
- 21. Windows CMD:絶対パスから相対パスを取得する
- 22. djangoファイルフィールドから元のパスを取得
- 23. は別のパスからクッキーを取得
- 24. Sammy.js - ルート内からのパスを取得
- 25. Symfony2:実際のURIでロケールスイッチャーを実装する方法は?
- 26. URIからファイル名を取得する方法
- 27. イメージを取得するtwitterからuri from apiエンティティパラメータphp
- 28. ビットマップからUriオブジェクトを取得する方法
- 29. mediastoreからのデータを取得する際に内部の外部uriとの比較
- 30. パスからデータベースからファイルを取得する
http://stackoverflow.com/questions/5657411/android-getting-a-file-uri-from-a-content-uriに関連するコンテキストを提供できますか? – Renaud