Как получить идентификатор приложения в Android?

Вопрос:Мне нужно однозначно идентифицировать Android-приложение, установленное на любом устройстве Android. Я знаю, что у каждого Android-устройства есть уникальный идентификатор, и каждое приложение похоже на пользователя Linux для Android. Но бывают случаи, когда два приложения могут иметь одинаковый идентификатор пользователя, если они подписаны с одним и тем же ключом и предназначены для совместного использования контента. Есть

Вопрос:

Мне нужно однозначно идентифицировать Android-приложение, установленное на любом устройстве Android. Я знаю, что у каждого Android-устройства есть уникальный идентификатор, и каждое приложение похоже на пользователя Linux для Android.

Но бывают случаи, когда два приложения могут иметь одинаковый идентификатор пользователя, если они подписаны с одним и тем же ключом и предназначены для совместного использования контента.

Есть ли способ идентифицировать уникальный идентификатор для каждого приложения на каждом устройстве Android? Я хочу транслировать что-то на основе этого уникального идентификатора, а затем приложение должно получить это и действовать соответствующим образом.

Можно ли также получить идентификатор id/пользователя приложения через код?

Спасибо заранее!

Cheers,
Пратеек

Лучший ответ:

Я считаю, что имя пакета уникально для каждого приложения

Ответ №1

Да, мы можем получить идентификатор приложения для каждого приложения, установленного на устройстве, используя следующий код. И если вы подписываете один и тот же ключ, имя пакета приложения будет другим.

ResolveInfo info = mApps.get(position);

  • info.activityInfo.packageName вернет уникальное имя пакета. mApps имеет тип List<ResolveInfo> mApps.

  • .get(position) вернет позицию позиции в виде списка или сетке.

Спасибо,
Md Saifuddin

Ответ №2

В поле PackageInfo.sharedUserId будет отображаться идентификатор пользователя, назначенный в манифесте.

Если вы хотите, чтобы два приложения имели один и тот же идентификатор пользователя, чтобы они могли видеть данные друг друга и запускаться в одном процессе, затем назначьте им один и тот же идентификатор пользователя в манифесте:

Android: sharedUserId = “app1”
Два пакета с одинаковым sharedUserId также должны иметь одну и ту же подпись.

Оцените статью
Добавить комментарий