【问题标题】:Check if the device has an application to pick "media/*" from Gallery检查设备是否有从图库中选择“media/*”的应用程序
【发布时间】:2011-11-28 08:44:47
【问题描述】:

我正在开发一个允许用户从图库中选择图像的应用程序,但我希望能够在可能的情况下选择图像或视频。

到目前为止,如果我改变:

 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 intent.setType("image/*");

到:

 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
 intent.setType("media/*");

从图库中选择它的选项不可见,但会显示其他程序(如 ASTRO)

有没有办法以编程方式检测设备是否有其他程序来选择媒体/*,所以我可以选择要在 Intent 中设置的类型?

【问题讨论】:

    标签: android android-gallery


    【解决方案1】:

    致电PackageManager 以了解哪些应用程序处理此内容类型。

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("media/*");
    final PackageManager packageManager = getPackageManager();
    List<resolveinfo> list = packageManager.queryIntentActivities(intent, 0);
    

    从那里,您可以检查列表大小,或者列表是否包含给定的包名称,并执行适当的操作。

    【讨论】:

    猜你喜欢
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2013-05-11
    相关资源
    最近更新 更多