private void startApp(String packname) {
// 只能把使用者自己安裝的程式的intent擷取出來 啟動
// 很多系統的app 找不到 lunchintent
// Intent intent =
// getPackageManager().getLaunchIntentForPackage(packname);
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivity(intent);
try {
PackageInfo info = getPackageManager().getPackageInfo(packname,
PackageManager.GET_ACTIVITIES);
ActivityInfo[] activityinfos = info.activities;
ActivityInfo activityinfo = activityinfos[0];
if (activityinfo != null) {
String classname = activityinfo.name;
Log.i(TAG, "classname " + classname);
Intent intent = new Intent();
intent.setClassName(packname, classname);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} else {
Toast.makeText(this, "無法啟動該應用", 1).show();
}
} catch (Exception e) {
e.printStackTrace();
if (e instanceof ActivityNotFoundException) {
Toast.makeText(this, "無法啟動該應用", 1).show();
}
}
}