package com.casic.gasoperation.utils; import android.app.Activity; import android.app.Application; import android.content.Context; import android.os.IBinder; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; import com.casic.gasoperation.BuildConfig; import org.apache.http.util.EncodingUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.lang.Thread.UncaughtExceptionHandler; import java.text.DecimalFormat; import java.text.MessageFormat; import java.text.NumberFormat; import java.util.Date; import java.util.Set; public class ApplicationMain extends Application implements UncaughtExceptionHandler { private static ApplicationMain instance; // TODO 地图相关 public boolean m_bKeyRight = true; public static ApplicationMain getInstance() { return instance; } @Override public void onCreate() { super.onCreate(); //initEngineManager(this); instance = this; Thread.setDefaultUncaughtExceptionHandler(this); } @Override public void uncaughtException(Thread thread, Throwable ex) { Msg.showInfo(this, "程序意外终止退出"); Log.e("CgtApplicationExit", "程序意外终止退出", ex); StringBuffer buffer = new StringBuffer(); buffer.append("\r\n\r\n"); buffer.append(new Date().toString()); buffer.append("\r\n"); buffer.append(ex.toString()); buffer.append("\r\n"); for (StackTraceElement traceElement : ex.getStackTrace()) { buffer.append(traceElement.toString()); buffer.append("\r\n"); } // 结束进程 android.os.Process.killProcess(android.os.Process.myPid()); } /** * 获取指定资源ID的VIEW * * @param resource * @return */ public View inflateView(int resource) { return inflateView(resource, null); } public View inflateView(int resource, ViewGroup root) { LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); return vi.inflate(resource, root); } public String setDotPosition(double from, int position) { DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(); StringBuilder sb = new StringBuilder("0."); while (position > 0) { sb.append("0"); position--; } format.applyPattern(sb.toString()); return format.format(from); } public String getTwoNumber(int from) { DecimalFormat format = (DecimalFormat) NumberFormat.getInstance(); format.applyPattern("00"); return format.format(from); } public void hideSoftInputFromWindow(IBinder windowToken) { InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(windowToken, 0); } }