2016-04-21 68 views
-1

我正在开发一个应用程序,其中将包含一个应用程序列表。点击后,用户将被重定向到Play商店下载此应用程序。在成功下载时,我必须将该应用程序包名称发送给服务器进行验证。我怎样才能做到这一点?如何从Android获取apk包名?

回答

1

您可以使用下面的代码

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)); 
} 

获得设备安装的所有应用程序,并在for循环中找到包名。

0

我假设你想在运行时做到这一点,所以你的应用程序可以读取自己的package_id w/o这个硬编码。对于您需要使用PackageManagergetPackageInfo()方法:

protected String getPackageName() { 
    try { 
     PackageInfo packageInfo = getPackageManager.getPackageInfo(getPackageName(), 0); 

     return packageInfo.applicationInfo.packageName; 
    } catch (Exception e) { 
     e.printStacktrace(); 
    } 

    return null; 
} 
+0

无不是我自己的应用程序的信息,我想通过从Play商店 – niraj

+0

我的应用程序来获得应用程序下载的软件包名称@niraj你需要返工你的问题,因为它不清楚。你说'我正在开发一个应用程序,其中将包含一个应用程序列表。“ - 所以如果你有应用程序列表,为什么不把ID存储在该列表中呢? –