【问题标题】:Get an image URI in a preference screen!在首选项屏幕中获取图像 URI!
【发布时间】:2011-07-24 01:45:18
【问题描述】:

所以,我真正在寻找的是这个解决方案:Get/pick an image from Android's built-in Gallery app programmatically,但在偏好而非活动中工作。

我创建了一个放在我的设置中的类,我希望使用该类能够找到用户在其手机上选择的图像的 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”的值,假设当调用意图时,它把它放在某个地方?

【问题讨论】:

  • 不要写 [SOLVED],而是点击解决您问题的答案旁边的复选标记。

标签: android image android-activity preference


【解决方案1】:

我终于找到了一个解决方案……它不像我想要的那样风水,但它确实有效。

我只需手动编写首选项屏幕,然后就可以访问“startActivityForResult”函数。

从这里开始,解决它并敲定所有细节需要 3 到 5 分钟。

希望它能帮助一些人。

你有一个例子:http://www.anddev.org/code-snippets-for-android-f33/preference-screen-with-custom-views-t8472.html

但是我用的是google,但是我找不到链接。

【讨论】:

    猜你喜欢
    • 2014-03-16
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2013-08-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多