Android取得程序包名及Activity信息

//取得 已安裝apk的包名
List<ApplicationInfo> applicationInfos = pm.getInstalledApplications(0);  
Iterator<ApplicationInfo> iterator = applicationInfos.iterator();  
while(iterator.hasNext()){  
	ApplicationInfo applicationInfo = iterator.next();  
	String packageName = applicationInfo.packageName;// 包名  
	String packageLabel = pm.getApplicationLabel(applicationInfo).toString();//獲取label
	System.out.println("packageName:" + packageName + "," + packageLabel);
}

// 判斷包是否存在,並遍歷包中所有的activity
String pkgName = "com.google.zxing.client.android";
String aiName = "com.google.zxing.client.android.CaptureActivity";
PackageInfo pi = pm.getPackageInfo(pkgName, PackageManager.GET_ACTIVITIES);
if(pi!=null){
	ActivityInfo ai = null;
	for(int i=0; i < pi.activities.length; i++){
		ai=pi.activities[i];
		if(ai.name.equals(aiName))
			break;
	}
	if(ai!=null){
		Intent intent = new Intent();
		intent.setClassName(pkgName,aiName);
		startActivityForResult(intent, 1000);
	}
	else
		Toast.makeText(this, "未找到要引用的類", Toast.LENGTH_SHORT).show();
}
else
	Toast.makeText(this, "請先安裝ZXing條碼掃描", Toast.LENGTH_SHORT).show();





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章