/**
* @param packagename 要启动程序的包名
*/
private void openApplicationWithPackageName(String packagename)
{
PackageInfo packageinfo = null;
try{
packageinfo = this.getPackageManager().getPackageInfo(packagename, 0);
}catch(NameNotFoundException e)
{
e.printStackTrace();
}
if(packageinfo == null){
return;
}
Intent resolveIntent = new Intent(Intent.ACTION_MAIN,null);
resolveIntent .addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent .setPackage(packageinfo.packageName);
List<ResolveInfo> resolveinfolist = this.getPackageManager().queryIntentActivities(resolveIntent , 0);
ResolveInfo resolveInfo = resolveinfolist.iterator().next();
if(resolveInfo != null )
{
String packageName = resolveInfo.activityInfo.packageName;
String className = resolveInfo.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName,className);
//可添加要传递的参数
Bundle bundle = new Bundle();
intent.setComponent(cn);
intent.putExtras(bundle);
startActivity(intent);
}
}
Android 一个app启动另一个app
最新推荐文章于 2024-04-30 01:19:16 发布