Получите URI изображения на экране настроек! - PullRequest
2 голосов
/ 24 июля 2011

Итак, что я на самом деле ищу, так это решение: Получить / выбрать изображение из встроенного в Android приложения «Галерея» программным способом , но работать с предпочтениями, а не с действием.

Я создал класс, который я установил в настройках, и я хочу использовать этот класс, чтобы иметь возможность найти URI изображения, выбранного пользователем на его телефоне.Я не мог использовать код в этой ссылке из-за "startActivityForResult".Что недоступно в настройках.

Есть идеи, как это обойти?

ОТЧЕТ О ПРОГРЕССЕ:

Итак, я пробовал кое-что за это время.Вместо этого в своих настройках я добавил следующее:

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

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

 </Preference>

Сначала вместо «GET_CONTENT» это был «PICK», но с ним я могу работать только с Google Docs и Sim Card Tool.Kit, который находится далеко от галереи или любой другой вещи для просмотра файловой системы.

С «GET_CONTENT» он вылетает.

Я также добавил предлог «android.permission.WRITE_EXTERNAL_STORAGE»,даже если я просто хочу читать.Но я не нашел ни одного ( позвольте поставить это как дополнительный вопрос, если есть способ просто попросить прочитать и не писать ).

ОТЧЕТ О ХОДЕ ОСУЩЕСТВЛЕНИЯ # 2

Я заменил android: value на android: mimeType и перехожу прямо в галерею.Теперь просто нужно знать, действительно ли я получил URI, и он решен.

ОТЧЕТ О ПРОГРЕССЕ № 3

На данный момент, вот настоящая проблема.Когда я просматриваю мои SharedPreferences, значение остается пустым, даже после выбора изображений.Итак, я думаю, что есть небольшой взлом, чтобы сделать.Итак, вот в чем вопрос.Основываясь на примере моего экрана настроек выше, как я могу получить значение «test», предполагая, что когда вызывается намерение, оно куда-то его помещает?

1 Ответ

1 голос
/ 24 июля 2011

Я наконец-то нашел решение ... это не такой фен-шуй, как хотелось бы, но оно работает.

Я просто кодирую экран настроек вручную, и затем я смог получить доступ к "startActivityForResult"function.

С этого момента у вас ушло от 3 до 5 минут, чтобы решить его и доработать все детали.

Надеюсь, что это поможет некоторым людям.: http://www.anddev.org/code-snippets-for-android-f33/preference-screen-with-custom-views-t8472.html

Но тот, который я использовал, был на Google, но я не смог найти ссылку.

...