安卓相机 : Does it have a unique package name?

标签 android android-intent android-camera android-package-managers android-applicationinfo

我正在构建一个应用程序,它可以自动对已安装的应用程序进行排序,并允许用户启动这些应用程序。我刚刚在使用相机应用程序时遇到了一个小问题。当我使用“queryIntentActivities”扫描已安装的应用程序以获取“ResolveInfo”时,我两次获得图库 ResolveInfo,这两个对象是相同的。我想知道我是否遗漏了一些明显的东西,或者相机根本无法从包名称启动。

如果相机和图库共享同一个包,我是否仍然可以使用包管理器为每个包提取图标和标签?我想避免使用我自己的 drawable,因为不同的 OEM 会制作不同的图标。

我知道我可以使用捕获图像 Intent 简单地启动相机,但我不关心结果,我想将相机作为一个独立的 Activity 启动,而且使用这个 Intent 并不能真正解决我的问题。

更新:

所以我收到的相机和画廊的 ResolveInfo 并不完全相同。它们共享相同的包名称,但我可以通过 ResolveInfo.loadLabelResolveInfo.loadIcon 提取它们各自的图标(而不是我用 ResolveInfo.ApplicationInfo 做的.loadLabel ... 返回相同的标签和图标)。但是,我仍然找不到任何方法来分别启动相机和画廊的 Activity 。

更新 2.0

问题已解决。我在 ResolveInfo.ActivityInfo.name 中找到了唯一的 Activity 字符串。现在不是使用包名称启动应用程序,而是使用该变量中列出的 Activity 启动它。

最佳答案

不,相机和图库的包管理器不同。

相机 - com.android.camera。 对于图库 - com.android.gallery

这是您区分画廊和相机的方式。

关于安卓相机 : Does it have a unique package name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18887089/

相关文章:

android - Camera intent.getData()在部分设备返回null,主要在android 7.0

android - 在 Android 版本 7.0 上膨胀类 android.widget.DatePicker 时出错

android - 我应该使用 vnd.youtube :videoID?

java - 如何从单个 Activity 更新多个 Activity

Android 相机按需自动对焦

android - 拍摄照片而不保存

java - Eclipse 中的 Android SDK Manager 找不到路径

android - 选项卡 Activity 上的 Paho android 服务

android - 移动硬件的最大录音容量是多少?

java - Intent 未开始 Activity