से उरी प्राप्त करें मेरे पास "फ़ाइल: ///mnt/sdcard/3dphoto/temp19.jps" जैसी फ़ाइल का वास्तविक पथ है, मैं "सामग्री: // मीडिया/बाहरी" जैसी उरी कैसे प्राप्त कर सकता हूं/छवियों/मीडिया/1 "?असली पथ
असली पथ
उत्तर
फ़ाइल पथ में अपनी "फ़ाइल: // ..." को बदलें, आइटम के आईडी को निम्न कोड से ढूंढें, और फिर इसे प्रदाता यूआरआई में संलग्न करें। इसके अलावा, फ़ाइल एक्सटेंशन के आधार पर, सही प्रदाता
/**
* 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 immediatly रीफ्रेश नहीं होता के बाद एक मीडिया फ़ाइल है (उदाहरण के MediaStore.Video.Media.EXTERNAL_CONTENT_URI या MediaStore.Image.Media.EXTERNAL_CONTENT_URI के लिए) का उपयोग डिवाइस के भंडारण में जोड़ा गया। आप इस पद्धति का उपयोग अपने रिकॉर्ड को ताज़ा करने के लिए मजबूर कर सकते हैं:
/**
* 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
कोई भी जानता है कि रिवर्स कैसे संभव है? असल में मैं "सामग्री: //" –
मैं अपनी फ़ाइल एक्सप्लोरर गतिविधि के लिए एक ही सवाल था ... लेकिन यू knw चाहिए tht फ़ाइल के लिए contenturi केवल छवि, ऑडियो और वीडियो की तरह Mediastore डेटा का समर्थन करता है .... मैं sdcard से एक छवि का चयन से छवि सामग्री 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. रनटाइम पर जावा एप्लिकेशन का असली पथ कैसे प्राप्त करें?
- 2. कैसे, लेकिन 'असली' थंबनेल
- 3. मोक्स या असली कक्षाएं?
- 4. कोई असली सिल्वरलाइट परियोजनाएं?
- 5. असली फ़ाइल प्रकार
- 6. मेरे असली नाम
- 7. असली दुनिया के आवेदन
- 8. "असली" निष्पादन समय सीमा
- 9. एक असली स्टैक
- 10. असली सी/सी ++ कोड
- 11. iPhone डिबगिंग असली डिवाइस
- 12. मैं अपने वेबकंटेंट फ़ोल्डर में फ़ाइल के लिए असली पथ कैसे प्राप्त कर सकता हूं?
- 13. स्कैला contravariance - असली जीवन उदाहरण
- 14. लोकलहोस्ट बनाम असली आईपी पता
- 15. एरेटोस्थेनेज की असली चलनी - एल्गोरिथ्म
- 16. PHP: असली दुनिया ओओपी उदाहरण
- 17. असली दुनिया में जावाकार्ड 3?
- 18. भौतिक पथ, रूट पथ, आभासी पथ, सापेक्ष वर्चुअल पथ, अनुप्रयोग पथ और पूर्ण पथ में अंतर?
- 19. एएनटी: पथ पथ को दूसरे पथ में "पथ" कैसे जोड़ें?
- 20. Powershell परीक्षण पथ
- 21. सापेक्ष पथ पथ
- 22. पथ
- 23. पथ
- 24. पथ
- 25. पथ
- 26. पथ
- 27. पथ
- 28. पथ
- 29. पथ
- 30. पथ
लगता है http://stackoverflow.com/questions/5657411/android-getting-a-file-uri-from-a-content-uri से संबंधित क्या आप संदर्भ प्रदान कर सकते हैं? – Renaud