2012-01-31 20 views
16

używam wbudowanego w Android obrazu kompletacji następująco:Android zbieracz obrazu dla plików lokalnych tylko

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
m_activity.startActivityForResult(photoPickerIntent, PHOTO_PICKER_ID); 

Czy istnieje jakiś sposób, aby ograniczyć to, aby pokazać tylko lokalnie dostępnych plików. Na moim urządzeniu aktualnie wybierają się miniatury Picasy i chciałbym wykluczyć wszystkie obrazy, które nie są obecne na urządzeniu.

+0

Wygląda na to, że używasz aplikacji, która już zapisała miniatury Picasy na twoim sdcard. Kod wydaje się być dobry – Arslan

Odpowiedz

48

Dodawanie intent.putExtra (Intent.EXTRA_LOCAL_ONLY, true); zezwoli tylko na pliki lokalne. Wyklucza to obrazy Picasy. Mam nadzieję że to pomoże.

Intent intent = new Intent(); 
    intent.setType("image/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); 
    startActivityForResult(Intent.createChooser(intent, 
      "Complete action using"), PHOTO_PICKER_ID); 
+7

Jedynym problemem związanym z flagą 'EXTRA_LOCAL_ONLY' jest jej [dostępna tylko od czasów Honeycomb] (http: // developer. android.com/reference/android/content/Intent.html#EXTRA_LOCAL_ONLY). Pamiętaj o sprawdzeniu interfejsu API przed jego użyciem. –

+0

każde obejście pre-HoneyComb – desgraci

+1

Rozstrzyga się na stałą. W pre-plaster miodu można określić stały ciąg "android.intent.extra.LOCAL_ONLY" – Paul

-3

Ten kod służy do uruchamiania funkcji wyboru lokalnego.

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 

startActivityForResult(Intent.createChooser(intent, 
       "Complete action using"), PHOTO_PICKER_ID); 
+0

czy to uniemożliwia ppl wybór z albumów Picasa? – ChuckKelly

+0

no ....................... – tomi