Question

Alors, ce que je suis à la recherche de cette solution est: Get / choisir une image dans la Galerie intégrée Android app programme de travail, mais une préférence et non une activité.

Je créé une classe que je mets dans mon milieu et je veux utiliser cette classe pour être en mesure de trouver l'URI d'une image sélectionnée par l'utilisateur sur son téléphone. Je ne pouvais pas utiliser le code dans ce lien en raison de « startActivityForResult ». Ce qui n'est pas disponible dans une préférence.

Toute idée comment contourner cela?

RAPPORT D'ÉTAPE:

Alors, j'ai essayé quelques trucs dans le même temps. Au lieu de cela, dans mes paramètres, j'ajouté ce qui suit:

 <Preference
    android:key="test"
    android:title="open image"
    android:persistent="true">

    <intent android:action="android.intent.action.GET_CONTENT"
            android:value="image/*"/>

 </Preference>

D'abord, au lieu de « get_content », il était « PICK », mais avec elle, je ne peux aller avec Google Docs et la carte SIM Tool Kit, qui est loin de la galerie ou quelque chose pour parcourir le système de fichiers.

"get_content", il se bloque.

J'ai aussi ajouté le « android.permission.WRITE_EXTERNAL_STORAGE » premission, même si je veux juste lire. Mais je ne l'ai pas trouvé de ( revêtons cela comme une question secondaire, s'il y a un moyen de simplement demander de lire et ne pas écrire ).

RAPPORT # 2

Je remplacé Android: valeur par Android: mimeType et je passe directement à la galerie. Maintenant, il faut juste savoir si je suis vraiment l'URI et il est résolu.

RAPPORT D'ÉTAPE # 3

A ce point, voici le vrai problème. Quand je vais dans mes SharedPreferences, les séjours de valeur vide, même après avoir sélectionné une image. Donc, je suppose qu'il ya un petit hack à faire. Alors maintenant, c'est la question. Sur la base de l'exemple de mon écran de préférence ci-dessus, comment puis-je récupérer la valeur de « test », en supposant que lorsque l'intention est appelée, elle a mis quelque part?

Était-ce utile?

La solution

J'ai finalement trouvé une solution ... ce n'est pas aussi feng shui que je le voudrais, mais cela fonctionne.

Je code simplement l'écran de préférence à la main puis j'ai pu accéder à la fonction « startActivityForResult ».

De ce point, il a fallu 3 à 5 minutes pour le résoudre et de finaliser tous les détails.

espère que cela aide certaines personnes.

Vous avez un exemple là: http://www.anddev.org/code-snippets-for-android-f33/preference-screen-with-custom-views-t8472.html

Mais celui que j'utilisé était sur Google, mais je ne pouvais pas trouver le lien.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top