2

所以,我真正在寻找的是这个解决方案:以编程方式从 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”的值,假设当调用意图时,它把它放在某个地方?

4

1 回答 1

1

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

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

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

希望它可以帮助一些人。

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

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

于 2011-07-24T19:38:15.017 回答