动态检查是否在Android中安装了特定的应用程序

时间:2016-04-20 13:44:21

标签: android tracking advertising

我想知道用户是否已经从我在我的应用程序中提供的链接安装了应用程序..

问题是包名, 首先,我必须安装应用程序以了解应用程序包名称,然后编写与我提供的程序包名称进行比较的代码。

我不能为每个新的应用推广都做这个过程。

有没有办法知道Android应用程序的软件包名称,甚至没有安装它?

3 个答案:

答案 0 :(得分:1)

您可以在Play商店查看应用程序。

包名称在URL中......例如:

https://play.google.com/store/apps/details?id=dae.dfnews

重要的部分是id=dae.dfnewsdae.dfnews是包名。

答案 1 :(得分:1)

如果您的用户从Google Play商店安装该应用,那么您的链接应该如下所示

  

https://play.google.com/store/apps/details?id= com.example.app

或者如果是这样的Play商店应用提示

  

市场://细节ID = <强> com.example.app

最后一部分(id)实际上应该是包名

答案 2 :(得分:0)

您可以使用以下代码列出设备上安装的所有应用:

final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo packageInfo : packages) {
    Log.d(TAG, "Installed package :" + packageInfo.packageName);
    Log.d(TAG, "Source dir : " + packageInfo.sourceDir);
    Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)); 
}
// the getLaunchIntentForPackage returns an intent that you can use with startActivity() 

比较是否安装了您要求安装的应用。