我的应用是一个简单的图库应用,任何用户都可以制作图像并将其保存到SdCard。 我有一个活动,其中用户创建的所有图像都将显示在GridView中。
现在我想要的是我的应用程序显示在图像选择器列表中,其中显示了图库和其他应用程序。
我已经实现了在列表中显示我的应用的Intent过滤器,
但是我应该编写什么代码,以便用户可以从我的代码中选择一个图像 gridview的
.....
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="image/*" />
</intent-filter>
答案 0 :(得分:1)
但是我应该编写什么代码,以便用户可以从我的gridview中选择一个图像
你会写一个Activity
来GridView
。当用户做出选择时,您可以致电setResult()
为Uri
提供返回值,其中包含用于触发您的活动的Intent
操作记录的信息。然后,您可以致电finish()
,关闭您的活动并将控制权交还给您发起的任何活动。
ACTION_GET_CONTENT
的文档包含:
输出:已挑选项目的URI。这必须是内容:URI,以便任何接收者都可以访问它。
此Uri
位于您传递给Intent
的{{1}}。
setResult()
的文档包含:
输出:已挑选项目的URI。
因此,您可以使用相同的代码为ACTION_PICK
和Intent
填充setResult()
的{{1}}。
答案 1 :(得分:0)
其实我想要的是:
Intent result = new Intent("com.example.RESULT_ACTION", Uri.parse("content://result_uri");
setResult(Activity.RESULT_OK, result);
finish();
通过使用这样的setResult,我们可以发送数据。