我正在开发Android相机应用,并希望拥有大多数相机应用中的功能:
单击预览图标会打开图库,该图库显示当前照片并允许滑动相机文件夹中的所有图像。
当我使用Intent.ACTION_VIEW时,图库只显示1张图片,无法查看目录中的其他照片。
是否有任何额外的标志用于意图Intent.ACTION_VIEW以获得此类行为?
是否有任何解决方法可以获得此类行为?
答案 0 :(得分:2)
是否有任何额外的标志用于意图Intent.ACTION_VIEW以获得此类行为?
没有
不要求Android设备具有能够显示当前照片的应用程序,并且允许浏览相机文件夹中的所有图像"。对于碰巧有这样一个应用程序的设备,没有标准Intent
结构要求应用程序显示当前照片并允许刷过相机文件夹中的所有图像"。
是否有任何解决方法可以获得此类行为?
为此编写自己的用户界面。
答案 1 :(得分:1)
@CommonsWare可能听起来有点刺耳,但是如果你要制作一个应用程序,不要指望你只需要一些神奇的意图调用来为你完成所有工作。
对于您想要实现的目标,请查看ViewPager,它可以让您在不同视图之间滑动(每个视图都会显示一个图像)。 Chris Bane提供了一个很好的自定义视图,允许查看,缩放和滚动图片:https://github.com/chrisbanes/PhotoView
答案 2 :(得分:0)
OpenCamera AlmalenceGUI.openExternalGallery()使用未记录的操作=" com.android.camera.action.REVIEW"在我的android-4.2.2中以滑动模式打开图库。
private void openExternalGallery(Uri uri)
{
try
{
Intent intent = new Intent("com.android.camera.action.REVIEW", uri);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
ApplicationScreen.instance.startActivity(intent);
} catch (ActivityNotFoundException ex)
{
try
{
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
ApplicationScreen.instance.startActivity(intent);
} catch (ActivityNotFoundException e)
{
Log.e("AlmalenceGUI", "review image fail. uri=" + uri, e);
}
}
}