package com.example.qingyangdemo.common; import com.example.qingyangdemo.R; import com.example.qingyangdemo.base.AppManager; import com.example.qingyangdemo.base.BaseApplication; import com.example.qingyangdemo.ui.FeedBackDialog; import com.example.qingyangdemo.ui.LoginDialog; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnDismissListener; import android.content.Intent; import android.content.DialogInterface.OnClickListener; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.Toast; /** * 应用程序UI工具包:封装UI相关的一些操作 * * @author 赵庆洋 * */ public class UIHelper { /** * 弹出toast消息 * * @param context * @param msg */ public static void ToastMessage(Context context, String msg) { Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } public static void ToastMessage(Context context, int msg) { Toast.makeText(context, msg, Toast.LENGTH_SHORT).show(); } /** * 弹出toast消息(自设显示时间) * * @param context * @param msg * @param time */ public static void ToastMessage(Context context, String msg, int time) { Toast.makeText(context, msg, time).show(); } /** * 显示登录界面 * * @param context */ public static void showLoginDialog(Context context) { Intent intent = new Intent(context, LoginDialog.class); context.startActivity(intent); } /** * 发送App错误异常报告 * * @param context * @param crashReport */ public static void sendAppCrashReport(final Context context, final String crashReport) { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setIcon(android.R.drawable.ic_dialog_info); builder.setTitle(R.string.app_error); builder.setMessage(R.string.app_error_message); builder.setPositiveButton(R.string.submit_report, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); // 发送异常报告 Intent intent = new Intent(Intent.ACTION_SEND); // intent.setType("text/plain");// 模拟器 intent.setType("message/rfc822");// 真机 // 发送邮件 Intent.EXTRA_CC抄送 Intent.EXTRA_BCC密送者 intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "736909686@qq.com" }); // 标题 intent.putExtra(Intent.EXTRA_SUBJECT, "清扬android客户端-错误报告"); // 内容 intent.putExtra(Intent.EXTRA_TEXT, crashReport); context.startActivity(Intent.createChooser(intent, "发送错误报告")); AppManager.getAppManager().AppExit(context); } }); builder.setNegativeButton(R.string.sure, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); AppManager.getAppManager().AppExit(context); } }); AlertDialog alertDialog = builder.create(); alertDialog.setCanceledOnTouchOutside(false); alertDialog.setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { AppManager.getAppManager().AppExit(context); } }); alertDialog.show(); } /** * 用户登录或注销 * * @param activity */ public static void loginOrLogout(Activity activity) { BaseApplication application = (BaseApplication) activity .getApplication(); if (application.isLogin()) { application.layout(); ToastMessage(application, "已退出登陆"); } else { showLoginDialog(activity); } } /** * 清除缓存 * * @param activity */ public static void clearAppCache(Activity activity) { final BaseApplication application = (BaseApplication) activity .getApplication(); final Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 1) { ToastMessage(application, "缓存清除成功"); } else { ToastMessage(application, "缓存清除失败"); } }; }; new Thread(new Runnable() { @Override public void run() { Message msg = new Message(); try { application.clearAppCache(); msg.what = 1; } catch (Exception e) { e.printStackTrace(); msg.what = -1; } handler.sendMessage(msg); } }).start(); } /** * 清除下载数据 * * @param activity */ public static void clearDownCache(Activity activity) { final BaseApplication application = (BaseApplication) activity .getApplication(); final Handler handler = new Handler() { public void handleMessage(Message msg) { if (msg.what == 1) { ToastMessage(application, "清除成功"); } else { ToastMessage(application, "清除失败"); } }; }; new Thread(new Runnable() { @Override public void run() { Message msg = new Message(); try { application.clearDownCache(); msg.what = 1; } catch (Exception e) { e.printStackTrace(); msg.what = -1; } handler.sendMessage(msg); } }).start(); } /** * 显示检查更新页面 * * @param settingActivity */ public static void showFeedBack(Context context) { Intent intent = new Intent(context, FeedBackDialog.class); context.startActivity(intent); } /** * 点击返回监听事件 * * @param activity * @return */ public static View.OnClickListener finish(final Activity activity) { return new View.OnClickListener() { public void onClick(View v) { activity.finish(); } }; } }