आईफोन की तरह यूआईएममेज पिकर कंट्रोलर है जो उपयोगकर्ता को डिवाइस पर संग्रहीत चित्रों तक पहुंचने देता है, क्या हमारे पास एंड्रॉइड एसडीके में समान नियंत्रण है?मेरे एंड्रॉइड ऐप में चित्र ऐप से चित्रों को एक्सेस करें
धन्यवाद।
आईफोन की तरह यूआईएममेज पिकर कंट्रोलर है जो उपयोगकर्ता को डिवाइस पर संग्रहीत चित्रों तक पहुंचने देता है, क्या हमारे पास एंड्रॉइड एसडीके में समान नियंत्रण है?मेरे एंड्रॉइड ऐप में चित्र ऐप से चित्रों को एक्सेस करें
धन्यवाद।
आप startActivityForResult
का उपयोग कर सकते हैं, जो उस कार्य में गुजर रहा है जो आप पूरा करना चाहते हैं और डेटा स्रोत को क्रियान्वित करने के लिए करते हैं। Intent.ACTION__PICK
और कोई डेटा स्रोत वाले चित्र: स्थानीय डिवाइस पर छवियों के लिए android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI
या android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
एसडी कार्ड पर छवियों के लिए
आप के लिए सौभाग्य से, एंड्रॉयड उठा बातों के लिए एक कार्य भी शामिल है।
कॉल पिक कार्रवाई में startActivityForResult
गुजर और छवियों आप उपयोगकर्ता इस तरह से चयन करना चाहते हैं:
startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);
फिर onActivityResult
ओवरराइड उपयोगकर्ता के लिए सुनने के लिए एक चयन किया था।
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SELECT_IMAGE)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
// TODO Do something with the select image URI
}
}
एक बार आपके पास छवि उरी होने के बाद आप छवि का उपयोग करने के लिए इसका उपयोग कर सकते हैं और जो भी आपको इसके साथ करने की ज़रूरत है।
इसका उपयोग करते समय मेरी निष्क्रियता को बुलाया नहीं जा रहा है ... कोई सुझाव? मैंने बाहरी स्टोरेज अनुमति सेट की है –
यह देखने के लिए कि आपने चयनित इमेज वैरिएबल से फ़ाइल पथ को कैसे पुनर्प्राप्त किया है, यह जवाब देखें: http://stackoverflow.com/a/10474167 – Tiago
तुम भी कर सकते हैं:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, 1);
यह सब भंडार भर में छवियों का चुनाव करेगा।
क्या कैमरा अतिरिक्त स्रोत के रूप में दिखाना संभव है यहाँ? – jjxtra
यदि आप प्रारंभिक 1 को प्रारंभिकता ForResult में पास करते हैं, तो आपActivityResult() के भीतर अनुरोध कोड की पहचान कैसे करते हैं? –
बस रेटो द्वारा दिए गए उत्तर का एक अपडेट। आप ऐसा कर सकता है छवि को मापना:
private String getPath(Uri uri) {
String[] data = { MediaStore.Images.Media.DATA };
CursorLoader loader = new CursorLoader(context, uri, data, null, null, null);
Cursor cursor = loader.loadInBackground();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
मेरा मानना है कि एक सामग्री प्रदाता android.provider और एक वर्ग कहा जाता MediaStore.Images कहा जाता है के बाद आप क्या कर रहे हैं [अधिक जानकारी यहां पाया जा सकता है।] (Http://developer.android.com/reference/android/provider/package-summary.html) – GregD