实用代码块记录1

来源:互联网 发布:mac安装阿里旺旺 编辑:程序博客网 时间:2024/06/05 00:23

1.双击退出app

 private long exitTime = 0;    @Override    public void onBackPressed() {        if (exitApp()) {            super.onBackPressed();        }    }    /**     * 双击返回提示     */    public boolean exitApp() {        if ((System.currentTimeMillis() - exitTime) > 2000) {            ToastUtils.showToast(this, R.string.exit_app_tip);            exitTime = System.currentTimeMillis();            return false;        }        return true;    }

2.获取应用名称

public static String getAppName(Context context) {        try {            PackageManager packageManager = context.getPackageManager();            PackageInfo packageInfo = packageManager.getPackageInfo(                    context.getPackageName(), 0);            int labelRes = packageInfo.applicationInfo.labelRes;            return context.getResources().getString(labelRes);        } catch (NameNotFoundException e) {            e.printStackTrace();        }        return null;    }

3.获取当前版本号

public static int getVersionCode(Context context) {        int mVersionCode = 1;        try {            PackageInfo packageInfo = context.getPackageManager()                    .getPackageInfo(context.getPackageName(), 0);            mVersionCode = packageInfo.versionCode;        } catch (NameNotFoundException e) {        } finally {            return mVersionCode;        }    }

4.获取当前版本名

public static String getVersionName(Context context) {        String mVersionName = "1.0.0";        try {            PackageInfo packageInfo = context.getPackageManager()                    .getPackageInfo(context.getPackageName(), 0);            mVersionName = packageInfo.versionName;        } catch (NameNotFoundException e) {        } finally {            return mVersionName;        }    }

5.获取屏幕宽度

public static int getScreenWidth(Context context) {        final WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);        final Display display = windowManager.getDefaultDisplay();        DisplayMetrics displayMetrics = new DisplayMetrics();        display.getMetrics(displayMetrics);        boolean isPortrait = displayMetrics.widthPixels < displayMetrics.heightPixels;        return isPortrait ? displayMetrics.widthPixels                : displayMetrics.heightPixels;    }

6.获取屏幕高度

 public static int getScreenHeight(Context context) {        final WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);        final Display display = windowManager.getDefaultDisplay();        DisplayMetrics displayMetrics = new DisplayMetrics();        display.getMetrics(displayMetrics);        boolean isPortrait = displayMetrics.widthPixels < displayMetrics.heightPixels;        return isPortrait ? displayMetrics.heightPixels                : displayMetrics.widthPixels;    }

7.获取IMEI

public static String getSystemImei(Context context) {        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);        String imei = telephonyManager.getDeviceId();        return imei;    }

8.获得状态栏的高度

    public static int getStatusHeight(Context context) {        int statusHeight = -1;        try {            Class<?> clazz = Class.forName("com.android.internal.R$dimen");            Object object = clazz.newInstance();            int height = Integer.parseInt(clazz.getField("status_bar_height")                    .get(object).toString());            statusHeight = context.getResources().getDimensionPixelSize(height);        } catch (Exception e) {            e.printStackTrace();        }        return statusHeight;    }

9.获取当前屏幕截图,包含状态栏

public static Bitmap snapShotWithStatusBar(Activity activity) {        View view = activity.getWindow().getDecorView();        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        Bitmap bmp = view.getDrawingCache();        int width = getScreenWidth(activity);        int height = getScreenHeight(activity);        Bitmap bp = null;        bp = Bitmap.createBitmap(bmp, 0, 0, width, height);        view.destroyDrawingCache();        return bp;    }

10.获取当前屏幕截图,不包含状态栏

public static Bitmap snapShotWithoutStatusBar(Activity activity) {        View view = activity.getWindow().getDecorView();        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        Bitmap bmp = view.getDrawingCache();        Rect frame = new Rect();        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);        int statusBarHeight = frame.top;        int width = getScreenWidth(activity);        int height = getScreenHeight(activity);        Bitmap bp = null;        bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height                - statusBarHeight);        view.destroyDrawingCache();        return bp;    }

11.打开软键盘

 public static void openKeybord(EditText mEditText, Context mContext) {        InputMethodManager imm = (InputMethodManager) mContext                .getSystemService(Context.INPUT_METHOD_SERVICE);        imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,                InputMethodManager.HIDE_IMPLICIT_ONLY);    }

12.关闭软键盘

 public static void closeKeybord(EditText mEditText, Context mContext) {        InputMethodManager imm = (InputMethodManager) mContext                .getSystemService(Context.INPUT_METHOD_SERVICE);        imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);    }

13.判断当前应用是否处于后台

public static boolean isApplicationInBackground(Context context) {        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<RunningTaskInfo> taskList = am.getRunningTasks(1);        if (taskList != null && !taskList.isEmpty()) {            ComponentName topActivity = taskList.get(0).topActivity;            if (topActivity != null && !topActivity.getPackageName().equals(context.getPackageName())) {                return true;            }        }        return false;    }
0 0
原创粉丝点击