• Activity UI Handler ProgressBar AsyncTask


    package io.vov.vitamio.activity;
    
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.content.Intent;
    import android.content.res.Resources;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.Window;
    import io.vov.vitamio.Vitamio;
    import java.lang.ref.WeakReference;
    
    public class InitActivity extends Activity
    {
      public static final String FROM_ME = "fromVitamioInitActivity";
      private ProgressDialog mPD;
      private UIHandler uiHandler;
    
      protected void onCreate(Bundle paramBundle)
      {
        super.onCreate(paramBundle);
        getWindow().addFlags(128);
        this.uiHandler = new UIHandler(this);
        new AsyncTask()
        {
          protected Boolean doInBackground(Object[] paramArrayOfObject)
          {
            return Boolean.valueOf(Vitamio.initialize(InitActivity.this, InitActivity.this.getResources().getIdentifier("libarm", "raw", InitActivity.this.getPackageName())));
          }
    
          protected void onPostExecute(Boolean paramBoolean)
          {
            if (paramBoolean.booleanValue())
              InitActivity.this.uiHandler.sendEmptyMessage(0);
          }
    
          protected void onPreExecute()
          {
            InitActivity.this.mPD = new ProgressDialog(InitActivity.this);
            InitActivity.this.mPD.setCancelable(false);
            InitActivity.this.mPD.setMessage(InitActivity.this.getString(InitActivity.this.getResources().getIdentifier("vitamio_init_decoders", "string", InitActivity.this.getPackageName())));
            InitActivity.this.mPD.show();
          }
        }
        .execute(new Object[0]);
      }
    
      private static class UIHandler extends Handler
      {
        private WeakReference<Context> mContext;
    
        public UIHandler(Context paramContext)
        {
          this.mContext = new WeakReference(paramContext);
        }
    
        public void handleMessage(Message paramMessage)
        {
          InitActivity localInitActivity = (InitActivity)this.mContext.get();
          switch (paramMessage.what)
          {
          default:
            return;
          case 0:
          }
          localInitActivity.mPD.dismiss();
          Intent localIntent1 = localInitActivity.getIntent();
          Intent localIntent2 = new Intent();
          localIntent2.setClassName(localIntent1.getStringExtra("package"), localIntent1.getStringExtra("className"));
          localIntent2.setData(localIntent1.getData());
          localIntent2.putExtras(localIntent1);
          localIntent2.putExtra("fromVitamioInitActivity", true);
          localInitActivity.startActivity(localIntent2);
          localInitActivity.finish();
        }
      }
    }
  • 相关阅读:
    [LeetCode] 222. Count Complete Tree Nodes Java
    [LeetCode] 199. Binary Tree Right Side View Java
    自动加载的两种办法
    Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted
    Java 面试
    Java 获取最近时间
    Java 倒序输出
    java 排序算法
    图片预览
    SSH三大框架的工作原理
  • 原文地址:https://www.cnblogs.com/qianyukun/p/5228341.html
Copyright © 2020-2023  润新知