Я создаю приложение, которое автоматически сортирует установленные приложения и позволяет пользователю запускать эти приложения. Я просто столкнулся с небольшой проблемой с приложением камеры. Когда я просматриваю установленные приложения с помощью «queryIntentActivities 'for' ResolveInfo« Я получаю галерею ResolveInfo дважды, и оба объекта идентичны. Мне интересно, не хватает ли я чего-то очевидного или камера просто не запускается из имени пакета.Камера для Android: есть ли уникальное имя пакета?
Если камера и галерея совместно используют один и тот же пакет, я все еще смогу использовать диспетчер пакетов, чтобы вытаскивать значки и метки для каждого из них? Я хочу избегать использования своих собственных возможностей, поскольку разные OEM-производители делают разные значки.
Я знаю, что я могу просто запустить камеру с намерением захватить изображение, но я не забочусь о результатах, и я хочу запустить камеру как самостоятельную деятельность плюс использование этого намерения на самом деле не решает мою проблему ,
Update:
Так ResolveInfo «s Я получаю для камеры и галереи не совсем то же самое. Они одни и те же имя пакета, но я могу тянуть их соответствующие значки через ResolveInfo.loadLabel и ResolveInfo.loadIcon (а то, что я делал с ResolveInfo.ApplicationInfo.loadLabel ... которые возвращаются одинаковые этикетки и значки). Однако я все еще не могу найти способ запуска действий для камеры и галереи отдельно.
Update 2,0
Проблема решена. Я нашел уникальную строку активности в ResolveInfo.ActivityInfo.name. Теперь вместо того, чтобы запускать приложение с именем пакета, я просто запускаю его с активностью, указанной в этой переменной.
Я исследовал дальше, и кажется, что это было верно для старых телефонов. Начиная с ** android 4.1 ** камера и галерея ** были объединены ** в один и тот же пакет. Конечно, это для акций Android, и OEM-производители могут по-прежнему иметь собственную реализацию камеры. – https
@https ok, но можете ли вы указать имя этого пакета? –