【问题标题】:Android - Launch Gallery Folder and Select ImageAndroid - 启动图库文件夹并选择图像
【发布时间】:2012-02-02 02:46:27
【问题描述】:

我正在做一个需要使用画廊查看器的应用程序。我正在使用一个按钮来启动画廊活动。

通过使用此代码:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/external/images/media"))); 

它从不同的相册返回图库中的所有图像,我只想显示默认的相册(这可能吗?),当我单击图像查看它时,它很好,直到我点击后退按钮,后退按钮直接回到我的应用程序并且不会留在图库中。我希望后退按钮返回图库(以便用户也可以查看其他图像),这可能吗?

任何帮助将不胜感激,并感谢您的时间和贡献:)

到目前为止,这是我得到的

Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setDataAndType(Uri.parse("content://media/external/images/media"), "image/*");
        startActivityForResult(intent, 0); 

但是每当我加载点击加载图像时,它会直接将我引导回我的应用程序而不加载图像。有人可以帮我弄这个吗?谢谢!

【问题讨论】:

    标签: android image gallery


    【解决方案1】:

    使用 startActivityForResult() 而不是 startActivity() 因为您需要返回给您的数据。除此之外,您还需要使用Intent.ACTION_PICK

    具体来说,您需要让您的应用程序与图库进行交互才能执行此操作。这需要您将图像返回给您的应用程序。

    如果您查看库应用程序的清单,这很容易确定。

    你可以在这里搜索: https://github.com/android

    更新库清单

    <intent-filter>
               <action android:name="android.intent.action.PICK" />
               <category android:name="android.intent.category.DEFAULT" />
               <data android:mimeType="image/*" />
               <data android:mimeType="video/*" />
    </intent-filter>
    

    意思是你只需要设置数据和mimetype。

    【讨论】:

    • 感谢您的回复!但是,我在使用 Intent.ACTION_PICK 时发现了另一个问题。如果我使用它,点击后我无法显示图像。它会立即将我返回到我的应用程序。糟糕,我在 github.com/android 上找不到图库应用程序的清单
    • 好像把它删了,让我给你拿来
    • 感谢您的帮助!但是请问,上面的代码在manifest文件中应该放在哪里呢?在我的活动范围内?还是在应用内?
    • 它不属于你的清单,你需要传递你的意图来匹配它。
    • 对不起,我有点困惑。我可以知道该怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多