如何通过意图打开图库而没有结果

时间:2010-10-05 14:52:16

标签: android android-intent gallery

嘿伙计们, 我遇到了一个小问题。 我有一种必须启动内置库的ApplicationLauncher。但是我不想从那个画廊得到任何结果......我只是想开始它并希望我的“启动器”在那之后关闭。

我尝试了什么:

    Intent intentBrowseFiles = new Intent(Intent.ACTION_GET_CONTENT);
    intentBrowseFiles.setType("image/*");
    intentBrowseFiles.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intentBrowseFiles);

但它甚至可以使用此标志...只要我点击图库中的图片,它就会关闭并返回到我的“启动器”。 有没有办法实现我想做的事情? 提前致谢, 最大

4 个答案:

答案 0 :(得分:4)

    Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_VIEW );
    startActivity(intent);

答案 1 :(得分:2)

  

我只想启动它并希望我的“启动器”在此之后关闭。

致电finish()以关闭“启动器”后致电startActivity()

答案 2 :(得分:2)

由于似乎无法通过Intent打开图库来浏览图片(无意选择一个然后传回给您的应用程序),例如从图书馆启动图库时启动器,我找到的唯一解决方案是在Activity中明确声明包和Intent名称。例如:

// For Android 4.0 (Samsung Galaxy Nexus)
final Intent intent = new Intent();
intent.setClassName("com.google.android.gallery3d", "com.android.gallery3d.app.Gallery");
startActivity(intent);

// For Samsung Galaxy S2
final Intent intent = new Intent();
intent.setClassName("com.cooliris.media", "com.cooliris.media.Gallery");
startActivity(intent);

当然这个解决方案根本不灵活,您必须在应用程序中保留一个包/活动名称列表并发送Intents(捕获ActivityNotFoundException),直到找到正确的名称。

答案 3 :(得分:1)

在您的启动器中调用完成并清除活动堆栈可能帮助,但您的问题可能与您的意图是Intent.ACTION_GET_CONTENT有关。

看起来你正试图从图库中获取内容,这就是它正在做的事情。请改为尝试ACTION_VIEW。