/**
* 启动应用
*/
public static boolean startAppByPackageName(Context context, String packageName, Map<String, String> param) {
PackageInfo pi = null;
try {
pi = context.getPackageManager().getPackageInfo(packageName, 0);
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.DONUT) {
resolveIntent.setPackage(pi.packageName);
}
List<ResolveInfo> apps = context.getPackageManager().queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null) {
String packageName1 = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName1, className);
intent.setComponent(cn);
if (param != null) {
for (Map.Entry<String, String> en : param.entrySet()) {
intent.putExtra(en.getKey(), en.getValue());
}
}
context.startActivity(intent);
return true;
}
} catch (Exception e) {
e.printStackTrace();
ViseLog.e("启动失败");
}
return false;
}
PackageUtil.java 文件源码
java
阅读 37
收藏 0
点赞 0
评论 0
项目:AndroidBasicLibs
作者:
评论列表
文章目录