2013-11-03 21 views
1

我想獲取在我的android上安裝的瀏覽器的列表。我發現,我提供的用於處理URL的活動列表中的代碼:在Android上獲取包名不在活動上

PackageManager packageManager = context.getPackageManager(); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("http://www.google.com")); 
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, 
               PackageManager.MATCH_DEFAULT_ONLY); 
for (ResolveInfo info : list) { 
    String name = info.name; 
    String pkgName = info.resolvePackageName; 
} 

我能夠獲得活動的名稱,但包的名字總是空。 有沒有辦法獲取包名?還是有更好的方法來做到這一點?

感謝,

RC

+0

歡迎SO。按照這個[鏈接](http://stackoverflow.com/help/someone-answers)來學習如何在stackoverflow中說'謝謝'。 – ramaral

回答

0

您將需要與packageInfo對象相匹配。

List<PackageInfo> temp = packageManager.getInstalledPackages(PackageManager.GET_META_DATA); 
for(PackageInfo info: temp) { 
    String pkg = info.packageName 
} 
0

試試這個:

for (ResolveInfo info : list) { 
    String name = info.activityInfo.name; 
    String pkgName = info.activityInfo.applicationInfo.packageName; 
} 
+0

作品:-),謝謝 – Roy