Android打开第三方APP

直接调appReRunning

    /**
     * 打开另一个app
     *
     * @param context
     * @param packname
     */
    public static int openOtherApp(Context context, String packname, PackageManager packageManager) {
        try {
            Intent intent = packageManager.getLaunchIntentForPackage(packname);
            if (null == intent) {
                LogUtil.d("程序不存在:" + packname);
                return 1;
            }
            context.startActivity(intent);
        } catch (Exception e) {
            LogUtil.e("打开程序错误:", e);
            return 1;
        }
        // 打开第三方后
//        exitAndKillMyself(context);
        return 0;
    }

    /**
     * APP重新打开
     * @param context
     * @param packageName
     */
    public static void appReRunning(Context context, String packageName) {
        ActivityManager mActivityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> listOfProcesses = mActivityManager
                .getRunningAppProcesses();
        boolean isRun = false;
        for (ActivityManager.RunningAppProcessInfo process : listOfProcesses) {
            if (process.processName.contains(packageName)) {
                isRun = true;
                break;
            }
        }
        if (!isRun) {
            LogUtil.d("任我飞没有在运行,强制打开");
            // 拉活
            CommonUtil.openOtherApp(context.getApplicationContext(), packageName, context.getPackageManager());
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_24712507/article/details/108681768