|
Manager mWindowManager;
private static LayoutInflater mInflater;
private static SmallView smallWindow;
private static WindowManager.LayoutParams smallWindowParams;
static int screenWidth;
static int screenHeight;
private static ActivityManager mActivityManager;
private static BigView bigView;
private static LayoutParams bigWindowParams;
private static RocketLauncher mRocketLauncher;
private static LayoutParams mRocketWindowParams;
public MyWindowManager(Context context) {
mWindowManager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
mInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
/**
* 判断是否是主页面
*/
public static boolean isHome(Context context) {
ActivityManager activityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List
runningTasks = activityManager.getRunningTasks(1);
return getHome(context).contains(
runningTasks.get(0).topActivity.getPackageName());
}
/***
* 获得主页面
*
* @return
*/
private static List
getHome(Context context) { PackageManager packageManager = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); List
names = new ArrayList
(); List
list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); if (list != null) { for (ResolveInfo info : list) { names.add(info.activityInfo.packageName); } } return names; } /** * 是否有窗口在屏幕上显示 * * @return */ public static boolean isWindowShowing() { return smallWindow != null || bigView != null; } public static void removeSmallWindow(Context context) { if (smallWindow != null) { WindowManager windowManager = getWindowManager(context); windowManager.removeView(smallWindow); smallWindow = null; } } /** * 创建小的window */ // public void createSmallWindow() { // mWindowManager=getWindowManager(mContext); // screenWidth = mWindowManager.getDefaultDisplay().getWidth(); // screenHeight = mWindowManager.getDefaultDisplay().getHeight(); // if (smallView == null) { // smallView = new SmallView(mContext); // // // if (mSamllWindowParams == null) { // mSamllWindowParams = new LayoutParams(); // mSamllWindowParams.type = LayoutParams.TYPE_PHONE; // mSamllWindowParams.format = PixelFormat.RGBA_8888; // mSamllWindowParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE // | LayoutParams.FLAG_NOT_TOUCH_MODAL; // mSamllWindowParams.gravity = Gravity.LEFT | Gravity.TOP; // mSamllWindowParams.width = smallView.getWidth(); // mSamllWindowParams.height = smallView.getHeight(); // mSamllWindowParams.x = screenWidth; // mSamllWindowParams.y = screenHeight/2; // } // smallView.setParams(mSamllWindowParams); // mWindowManager.addView(smallView, mSamllWindowParams); // } // // } public static void createSmallWindow(Context context) { WindowManager windowManager = getWindowManager(context); int screenWidth = windowManager.getDefaultDisplay().getWidth(); int screenHeight = windowManager.getDefaultDisplay().getHeight(); if (smallWindow == null) { smallWindow = new SmallView(context); if (smallWindowParams == null) { smallWindowParams = new LayoutParams(); smallWindowParams.type = LayoutParams.TYPE_SYSTEM_ALERT; smallWindowParams.format = PixelFormat.RGBA_8888; s |