zoukankan      html  css  js  c++  java
  • 5.29每周总结

    注册application
    MyApplication extends MultiDexApplication {

    public static boolean DEBUG_MODE = true;//是否是DEBUG模式
    private static MyApplication applicationContext;
    private static Handler handler;

    public static List<Activity> activityList = new ArrayList<>();

    @Override
    public void onCreate() {
    super.onCreate();
    DEBUG_MODE = BuildConfig.DEBUG_MODE;
    applicationContext = this;

    //在子线程中完成其他初始化
    initApplication();
    }

    private void initApplication() {
    // getHandler().post(() -> {

    //初始化数据库
    Realm.init(getInstance());
    // new SecureRandom().nextBytes(Utils.getRealmKey(key));

    Utils.init(getInstance());

    //内存泄漏检测放到最后执行
    if (LeakCanary.isInAnalyzerProcess(getInstance())) {
    return;
    }
    LeakCanary.install(getInstance());
    // });
    }

    public static MyApplication getInstance() {
    return applicationContext;
    }

    public static Handler getHandler() {
    if (null == handler)
    handler = new Handler(Looper.getMainLooper());
    return handler;
    }

    public static void addActivity(Activity activity) {
    if (null != activity && !activityList.contains(activity))
    activityList.add(activity);
    }

    public static void removeActivity(Activity activity) {
    //判断当前集合中存在该Activity
    if (null != activity && activityList.contains(activity)) {
    activityList.remove(activity);//从集合中移除
    activity.finish();//销毁当前Activity
    }
    }

    public static void exitActivity() {
    try {
    for (Activity activity : activityList) {
    if (activity != null)
    activity.finish();
    }
    activityList.clear();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    public static void closeApp(Context context) {

    if (null != handler)
    handler.removeCallbacksAndMessages(null);

    exitActivity();

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    context.startActivity(intent);

    android.os.Process.killProcess(android.os.Process.myPid());
    System.exit(0);

    }

    /**
    * 返回当前程序版本名
    */
    public static String getAppVersionName() {
    String versionName = "";
    try {
    PackageManager pm = applicationContext.getPackageManager();
    PackageInfo pi = pm.getPackageInfo(applicationContext.getPackageName(), 0);
    versionName = pi.versionName;
    if (versionName == null || versionName.length() <= 0) {
    return "";
    }
    } catch (Exception e) {
    LogUtils.e("VersionInfo Exception", e);
    }
    return versionName;
    }

    /**
    * 返回当前程序版本号
    */
    public static int getAppVersionCode() {
    int versioncode = 0;
    try {
    PackageManager pm = applicationContext.getPackageManager();
    PackageInfo pi = pm.getPackageInfo(applicationContext.getPackageName(), 0);
    versioncode = pi.versionCode;
    } catch (Exception e) {
    LogUtils.e("VersionInfo Exception", e);
    }
    return versioncode;
    }

    }
  • 相关阅读:
    XSS
    XSS练习小游戏
    CTF中常见的编码
    BugkuCTF
    A、B、C、D和E类IP地址
    JDK和JRE的区别及配置
    SQL注入漏洞测试(HTTP头注入)
    MS17-010远程溢出漏洞(CVE-2017-0143)拿权限
    SQL注入——布尔型盲注注入攻击——手工注入篇——SQL手工注入漏洞测试(MySQL数据库)
    mysql增删改查
  • 原文地址:https://www.cnblogs.com/blog-wangke/p/14871831.html
Copyright © 2011-2022 走看看