2016-04-21 156 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存儲在該列表中呢? –