AndroidUtilCode是一个Activity相关工具类
功能:
1.判断是否存在Activity
2.打开Activity
package com.blankj.utilcode.utils;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import java.util.List;
/**
* <pre>
* author: Blankj
* blog : http://blankj.com
* time : 2016/9/23
* desc : Activity相关工具类
* </pre>
*/
public class ActivityUtils {
private ActivityUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}
/**
* 判断是否存在Activity
*
* @param context 上下文
* @param packageName 包名
* @param className activity全路径类名
* @return {@code true}: 是<br>{@code false}: 否
*/
public static boolean isActivityExists(Context context, String packageName, String className) {
Intent intent = new Intent();
intent.setClassName(packageName, className);
return !(context.getPackageManager().resolveActivity(intent, 0) == null ||
intent.resolveActivity(context.getPackageManager()) == null ||
context.getPackageManager().queryIntentActivities(intent, 0).size() == 0);
}
/**
* 打开Activity
*
* @param context 上下文
* @param packageName 包名
* @param className 全类名
*/
public static void launchActivity(Context context, String packageName, String className) {
launchActivity(context, packageName, className, null);
}
/**
* 打开Activity
*
* @param context 上下文
* @param packageName 包名
* @param className 全类名
* @param bundle bundle
*/
public static void launchActivity(Context context, String packageName, String className, Bundle bundle) {
context.startActivity(IntentUtils.getComponentIntent(packageName, className, bundle));
}
}