В этом руководстве мы расскажем о трех различных методах получения имени пакета всех установленных приложений на вашем устройстве Android. Приложения, установленные на вашем устройстве, помечаются двумя разными способами. Первое — это общее имя, с которым вы обычно сталкиваетесь, например Facebook, WhatsApp и т. д. Это имя, с которым сталкиваются обычные пользователи и которые ищут в Play Store.
С другой стороны, есть связанный идентификатор приложения или имя пакета приложения, которое действует как уникальный идентификатор для каждого приложения. Например, у Facebook есть имя пакета com.facebook.katana, а у WhatsApp — com.whatsapp. Эти имена используются как бэкендщиками, так и разработчиками. Кроме того, хотя вы можете встретить множество приложений в Play Store под названием Facebook, ни одно из них не может иметь пакет com.facebook.katana.
Так что если у вас когда-нибудь возникнут сомнения в подлинности приложения, то можете рассчитывать на этот фактор. С учетом сказанного, как вы могли получить имя пакета всех установленных приложений на вашем Android-устройстве? Что ж, для одного и того же есть три разных метода, и в этом руководстве мы расскажем вам обо всех этих трех подходах. Итак, без лишних слов, приступим.
Способ 1: получить имя пакета приложения Android через URL-адрес Play Store
Этот метод чрезвычайно прост в исполнении. Однако, если вы хотите получить имя различных установленных приложений за один раз, это потребует довольно много ручных усилий. Но для некоторых приложений это должен быть ваш метод. Вот как это использовать:
На ПК
- Прежде всего, зайдите на сайт Play Store на своем ПК.
- Теперь найдите нужное приложение (в качестве примера возьмем Facebook)
- Затем перейдите к его панели поиска и проверьте его URL-адрес, это будет что-то вроде этого: https://play.google.com/store/apps/details?id=com.xxx.
- Например, в случае Facebook URL-адрес будет https://play.google.com/store/apps/details?id=com.facebook.katana.
- Теперь часть после id= будет именем пакета приложения. Таким образом, для Facebook получается com.facebook.katana.
Таким образом, это был первый способ получить имя пакета приложения через Play Store и ПК. Давайте посмотрим, как опробовать этот трюк с Play Store на вашем телефоне.
На мобильном
- Откройте приложение Play Store на своем устройстве и найдите нужное приложение (скажем, WhatsApp).
- На странице со списком приложений коснитесь значка переполнения, расположенного в правом верхнем углу, и выберите «Поделиться».
- Теперь просто поделитесь/сохраните этот URL в любом месте. URL-адрес будет иметь тот же формат, что и указанный выше, т. е. https://play.google.com/store/apps/details?id=com.xxx.
- Например, в случае с WhatsApp URL-адрес выглядит следующим образом: https://play.google.com/store/apps/details?id=com.whatsapp.
- Как и прежде, имя пакета приложения будет частью после id=. Итак, для WhatsApp это оказывается com.whatsapp.
Другой метод включает в себя открытие веб-сайта Play Store в браузере вашего смартфона, изменение его вида на режим рабочего стола, а затем получение URL-адреса. На этом мы завершаем этот первый метод, чтобы получить имя пакета всех установленных приложений на вашем устройстве Android. Теперь обратим внимание на два других метода.
Способ 2: получить имя пакета приложения Android через стороннее приложение
Преимущество этого метода заключается в том, что вам потребуются минимальные усилия. Кроме того, он может отображать как установленные пользователем, так и системные приложения. Пользовательский интерфейс также удобен. Однако я никогда не выступал за использование сторонних приложений и предоставление им доступа к моему устройству, если только это не имеет первостепенной важности. С учетом сказанного, если вы хотите попробовать это, следуйте приведенным ниже инструкциям:
- Для начала загрузите App Package Viewer 2.0 из Play Store.
- Затем запустите его и выберите нужное приложение из списка.
- Теперь нажмите на имя этого приложения, и вы должны получить связанное с ним имя пакета.
Вот и все. Это, пожалуй, самый простой способ получить имя пакета всех установленных приложений на вашем Android-устройстве. Теперь давайте проверим третий и последний способ выполнения этой задачи.
Способ 3: получить имя пакета приложения Android с помощью команд ADB
Преимущество этого метода заключается в том, что помимо получения имени пакета приложения, вы можете даже удалить установленные пользователем и установленные системой приложения на вашем устройстве с помощью этих команд ADB. Без рута! С другой стороны, этот метод требует нескольких предварительных условий, а также определенного уровня технических навыков. Но если вы готовы бросить вызов своему внутреннему гику, то этот метод создан специально для вас. Следуйте вместе.
- Для начала загрузите и установите Android SDK Platform Tools на свой компьютер. Это официальные двоичные файлы ABD, предоставленные Google.
- Извлеките его содержимое в любое удобное место на вашем ПК, и вы должны получить папку platform-tools.
- Теперь перейдите на свое устройство Android и включите отладку по USB. Это сделает ваше устройство узнаваемым вашим ПК в режиме ADB. Итак, перейдите в «Настройки»> «О телефоне»> «Семь раз нажмите на номер сборки»> «Вернитесь в «Настройки»> «Система»> «Параметры разработчика»> «Включить отладку по USB».
- Когда это будет сделано, подключите устройство к ПК через USB-кабель. Убедитесь, что отладка по USB включена.
- Затем перейдите в папку инструментов платформы, введите CMD в адресной строке и нажмите Enter. Это запустит командную строку.
- Теперь введите приведенную ниже команду в окне CMD и нажмите Enter: устройства adb.
- Если вы выполняете это действие впервые, на вашем устройстве может появиться запрос «Разрешить отладку по USB», нажмите «Разрешить». При этом вы авторизовали соединение ADB.
- Теперь выполните приведенную ниже команду в окне CMD: оболочка adb.
- Затем введите приведенную ниже команду, и вы должны получить список всех установленных приложений: пакеты pm list
Список приложений на моем OnePlus 7T!!! Посмотреть полноразмерное изображение
- Если вы хотите получить имена всех установленных системных приложений, используйте следующую команду:pm list packages -s
Вот и все. На этом мы завершаем руководство о том, как получить имя пакета всех установленных приложений на вашем устройстве Android. Мы поделились тремя разными методами для одного и того же, сообщите нам в комментариях, какой из них вы в конечном итоге выбрали.
In my manifest I have:
<application
android:name=".MyApp"
android:icon="@drawable/ic_launcher_icon"
android:label="@string/app_name"
android:debuggable="true">
How do I get the label element?
Note: My code is running inside of someone else’s, so I don’t have access to @string/app_name
Jerry Chong
7,6164 gold badges43 silver badges38 bronze badges
asked Jun 27, 2012 at 15:00
0
There’s an easier way than the other answers that doesn’t require you to name the resource explicitly or worry about exceptions with package names. It also works if you have used a string directly instead of a resource.
Just do:
public static String getApplicationName(Context context) {
ApplicationInfo applicationInfo = context.getApplicationInfo();
int stringId = applicationInfo.labelRes;
return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}
Edit
In light of the comment from Snicolas, I’ve modified the above so that it doesn’t try to resolve the id if it is 0. Instead it uses, nonLocalizedLabel
as a backoff. No need for wrapping in try/catch.
starball
14.5k6 gold badges25 silver badges123 bronze badges
answered Feb 27, 2013 at 14:23
darrenpdarrenp
4,2152 gold badges26 silver badges22 bronze badges
6
If not mentioned in the strings.xml/hardcoded in AndroidManifest.xml for whatever reason like android:label=»MyApp»
Java
public String getAppLable(Context context) {
ApplicationInfo applicationInfo = null;
try {
applicationInfo = context.packageManager.getApplicationInfo(context.getPackageManager().getApplicationInfo().packageName, 0);
} catch (final NameNotFoundException e) {
Log.d("TAG", "The package with the given name cannot be found on the system.");
}
return (applicationInfo != null ? packageManager.getApplicationLabel(applicationInfo) : "Unknown");
}
Or if you know the String resource ID then you can directly get it via
getString(R.string.appNameID);
UPDATE
Kotlin
fun getAppLable(context: Context): String? {
var applicationInfo: ApplicationInfo? = null
try {
applicationInfo = context.packageManager.getApplicationInfo(context.applicationInfo.packageName, 0)
} catch (e: NameNotFoundException) {
Log.d("TAG", "The package with the given name cannot be found on the system.")
}
return (if (applicationInfo != null) packageManager.getApplicationLabel(applicationInfo) else "Unknown")
}
answered May 8, 2013 at 15:09
2
Java
public static String getApplicationName(Context context) {
return context.getApplicationInfo().loadLabel(context.getPackageManager()).toString();
}
Kotlin (as extension)
fun Context.getAppName(): String = applicationInfo.loadLabel(packageManager).toString()
Boken
4,70710 gold badges32 silver badges42 bronze badges
answered May 10, 2013 at 16:17
Heath BordersHeath Borders
30.7k16 gold badges142 silver badges253 bronze badges
3
From any Context use:
getApplicationInfo().loadLabel(getPackageManager()).toString();
answered Sep 11, 2014 at 7:10
zamanzaman
7647 silver badges11 bronze badges
0
In Kotlin its simple:
val appLabel = context.applicationInfo.nonLocalizedLabel.toString()
answered Apr 12, 2020 at 9:20
Asaf PinhassiAsaf Pinhassi
15.1k11 gold badges106 silver badges130 bronze badges
1
In Kotlin, use the following codes to get Application Name:
// Get App Name
var appName: String = ""
val applicationInfo = this.getApplicationInfo()
val stringId = applicationInfo.labelRes
if (stringId == 0) {
appName = applicationInfo.nonLocalizedLabel.toString()
}
else {
appName = this.getString(stringId)
}
answered Apr 27, 2019 at 7:42
Jerry ChongJerry Chong
7,6164 gold badges43 silver badges38 bronze badges
1
If you need only the application name, not the package name, then just write this code.
String app_name = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
answered Jul 15, 2014 at 9:19
Pir Fahim ShahPir Fahim Shah
10.4k1 gold badge79 silver badges80 bronze badges
You can use this
JAVA
ApplicationInfo appInfo = getApplicationContext().getApplicationInfo();
String applicationLabel = getApplicationContext().getPackageManager().getApplicationLabel(appInfo).toString();
answered Dec 14, 2021 at 1:51
hong developerhong developer
13k3 gold badges38 silver badges66 bronze badges
Get Appliction Name Using RunningAppProcessInfo as:
ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext()) {
ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
try {
CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
Log.w("LABEL", c.toString());
}catch(Exception e) {
//Name Not FOund Exception
}
}
answered Jun 27, 2012 at 15:09
ρяσѕρєя Kρяσѕρєя K
132k52 gold badges197 silver badges213 bronze badges
By default you have a string resource called «app_name» generated by AndroidStudio. Why not simply use that? Or any other string resource created for this purpose. Much easier than calling several internal methods to come up with a value you have to set yourself in the first place.
answered Mar 4, 2021 at 18:49
MarcellMarcell
7797 silver badges23 bronze badges
The source comment added to NonLocalizedLabel
directs us now to:
return context.getPackageManager().getApplicationLabelFormatted(context.getApplicationInfo());
answered Oct 10, 2018 at 20:56
GáborGábor
9,2563 gold badges62 silver badges79 bronze badges
Kotlin
A simple function to get the name of the application in kotlin
fun getApplicationName() : String{
var applicationName = ""
try {
val applicationInfo = application.applicationInfo
val stringId = applicationInfo.labelRes
if (stringId == 0) {
applicationName = applicationInfo.nonLocalizedLabel.toString()
}
else {
applicationName = application.getString(stringId)
}
} catch (e: Exception) {
e.printStackTrace()
}
return applicationName
}
answered Feb 25, 2022 at 20:10
Rohit SRohit S
6643 silver badges7 bronze badges
Have you tried using the PackageManager#getActivityInfo()
method? There will be a field that should contain the name of the application.
See the answer to a very similar question here.
answered Jun 27, 2012 at 15:04
gkiargkiar
4801 gold badge6 silver badges20 bronze badges
If «don’t have access» means you don’t get the expected value… Try This:
String appName = getString(R.string.app_name);
vimuth
4,91130 gold badges78 silver badges115 bronze badges
answered Aug 11, 2022 at 23:29
Как узнать название программы
Зачастую пользователям не просто нужно знать название программы для ее запуска, но и иметь дополнительные сведения о ней – полное наименование, лицензионный ключ, версия продукта и так далее.
Вам понадобится
- — программа Passcape Win CD Keys.
Инструкция
Если программа уже запущена, посмотрите ее название в открытом окне сверху. Если вам нужно знать ее полное наименование и серийный номер продукта, попробуйте при помощи меню найти свойства о системе. Такой пункт может содержаться и в настройках программы.
Также используйте сочетание клавиш Alt+Ctrl+Del. Перед вами на мониторе появится диспетчер задач. Перейдите на вкладку «Приложения» и посмотрите список работающих программ.
Откройте панель управления при помощи меню «Пуск». Выберите в появившемся окне пункт «Установка и удаление программ». Найдите в нем позицию, в которой написано название программы, там же посмотрите и его версию вместе с дополнительными сведеньями, которые также могут быть там указаны.
Скачайте программу Passcape Win CD Keys. Это приложение не только отображает список установленного программного обеспечения на вашем компьютере, но и может подсказать вам лицензионный код приложения. Установите и запустите его, в левом окне вы найдете все те программы, которые имеются на вашем компьютере с полным отображением информации о них.
Если вам нужно посмотреть название программы, установленной в ваше мобильное устройство, для этого откройте приложение и зайдите в его меню. Найдите пункт, отвечающий за отображение свойств системы или настройки программы. Многие смартфоны также имеют функцию отображения списка установленного программного обеспечения так же, как и на компьютере.
Для этого просто ознакомьтесь с интерфейсом устройства и выясните, поддерживает ли ваш телефон подобную функцию. Она может находиться в системных приложениях, диспетчере программ, в разделах, связанных с установкой приложений и так далее. Также посмотрите в список установленных приложений и попробуйте посмотреть опции ярлыка программы.
Видео по теме
Обратите внимание
Используйте только лицензионное программное обеспечение.
Полезный совет
Не устанавливайте программы, скачанные с сомнительных сайтов и файлообменников.
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Для начала определимся с терминами в данном контексте, на примере браузера Google Chrome.
Имя процесса: chrome.exe
Имя приложения: Google Chrome (32 bit)
Мне нужно узнать именно имя приложения, так как оно почти всегда отличается.
задан 4 ноя 2015 в 9:37
4
Возьмите за основу этот пример:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Diagnostics;
using System.Management.Instrumentation;
namespace getAllProcessID
{
class Program
{
static void Main(string[] args)
{
var myID = Process.GetCurrentProcess();
var query = string.Format("SELECT ParentProcessId FROM Win32_Process");// WHERE ProcessId = {0}", myID);
var search = new ManagementObjectSearcher("root\CIMV2", query);
var results = search.Get().GetEnumerator();
if (!results.MoveNext())
throw new Exception("Huh?");
var queryObj = results.Current;
uint parentId = (uint)queryObj["ParentProcessId"];
foreach (Process p in Process.GetProcesses())
{
if (p.MainWindowTitle.Length > 0)
{
Console.WriteLine(p.MainWindowTitle.ToString());
Console.WriteLine(p.ProcessName.ToString());
Console.WriteLine(p.MainWindowHandle.ToString());
Console.WriteLine(p.PrivateMemorySize64.ToString());
}
}
Console.ReadLine();
}
}
}
ответ дан 4 ноя 2015 в 9:52
Мстислав ПавловМстислав Павлов
6,7472 золотых знака18 серебряных знаков40 бронзовых знаков
1
#android #google-play
#Android #google-play
Вопрос:
Я хочу узнать, как открыть мое открытое приложение с помощью другого приложения. Например. Я знаю, что могу открыть
- магазин Google Play с помощью market://<имя_страницы>
- instagram с помощью instagram://<имя_страницы>
точно так же я хотел бы знать, где найти это имя приложения для моего приложения. Я попробовал использовать название моего приложения, но оно не сработало. Я попробовал myapp_name://login
Ответ №1:
Используйте неявное намерение в Android.
Комментарии:
1. Пожалуйста, добавьте более подробную информацию к вашему ответу, чтобы помочь другим понять 🙂