天天看點

擷取啟動activity的包名和類名,核心代碼

List<PackageInfo> packageinfos = getPackageManager().getInstalledPackages(

PackageManager.GET_UNINSTALLED_PACKAGES|PackageManager.GET_ACTIVITIES

);// PackageManager.GET_ACTIVITIES這一句是為了獲得系統的activity,防止啟動時,空指針異常

PackageInfo packageinfo = showpackage.get(position);

final String packageName = packageinfo.packageName;//獲得包名,啟動activity的一個參數,position一般指的是listview和gridview中的擴充卡中的一個參數

final ActivityInfo appinfo=packageinfo.activities[0];//獲得應用的第一個activity

String activityName=appinfo.name;//activityName啟動activity的第二個參數

Intent intent=new Intent();

intent.setComponent(new ComponentName(packageName, activityName));

startActivity(intent);