如何在Android中获取应用程序ID?

时间:2011-03-07 06:41:24

标签: android

我需要唯一识别安装在任何Android设备上的Android应用。我知道每个Android设备都有唯一的ID,每个应用程序都像Android的Linux用户。

但有些情况下,如果两个应用程序使用相同的密钥签名并且旨在共享内容,则它们可以具有相同的用户ID。

有没有办法为每个Android设备上的每个应用程序识别唯一ID?我想根据这个唯一的ID广播一些内容,然后应用程序应该收到它并采取相应的行动。

我们还可以通过代码获取应用程序ID /用户ID吗?

提前致谢!!

干杯, Prateek

3 个答案:

答案 0 :(得分:3)

我认为软件包名称对于每个应用程序都是唯一的

答案 1 :(得分:2)

是的,我们可以使用以下代码获取设备上安装的每个应用程序的应用程序ID。如果您也使用相同的密钥签名,则应用程序包名称将不同。

ResolveInfo info = mApps.get(position);
  • info.activityInfo.packageName将返回唯一的包名称。 mApps的类型为List<ResolveInfo> mApps

  • .get(position)将在列表视图或网格视图中返回项目的位置。

谢谢, Md Saifuddin

答案 2 :(得分:1)

PackageInfo.sharedUserId字段将显示清单中分配的用户ID。

如果您希望两个应用程序具有相同的userId,那么他们可以看到彼此的数据并在同一个进程中运行,然后在清单中为它们分配相同的userId:

机器人:sharedUserId = “APP1” 具有相同sharedUserId的两个包也需要具有相同的签名。