当前位置: 首页 > wzjs >正文

网站上资源截图怎么做网络营销工具和方法

网站上资源截图怎么做,网络营销工具和方法,视频网站建设要多少钱,高级网络工程师证书项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…

项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler它是Thread的子类(就是package java.lang;线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都记录到文件存到本地用来分析问题。当然也可以在客户授权同意的情况下将这些错误信息或者缓存的文件发送到服务端进行分析。

本文只实现获取错误信息并存文件,如需上传请自己增加网络请求。

核心代码就是自己实现Thread.UncaughtExceptionHandler并重写uncaughtException方法,然后调用Thread的静态方法setDefaultUncaughtExceptionHandler将自己实现类对象设置进去,等程序发生crash闪退的时候系统会调用uncaughtException方法并传递错误信息。

第一步实现Thread.UncaughtExceptionHandler并完成信息保存

public class CrashHandler implements Thread.UncaughtExceptionHandler {private static final String CRASH_DIR = "crash";private static final String FILE_NAME = "crash_log.txt";private static final SimpleDateFormat DATE_FORMAT =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());private static final String TAG = "CrashHandler";private Context mContext;private Thread.UncaughtExceptionHandler mDefaultHandler;public static void init(Context context) {int i1 = ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE);int i2 = ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE);if (i1 == PackageManager.PERMISSION_GRANTED && i2 == PackageManager.PERMISSION_GRANTED) {//已有权限CrashHandler handler = new CrashHandler(context);Thread.setDefaultUncaughtExceptionHandler(handler);} else {Log.e(TAG, "onClick: 无权限需申请");if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//                context.requestPermissions(permissions, 1000);}else {// 低版本设备}}}private CrashHandler(Context context) {mContext = context.getApplicationContext();mDefaultHandler = Thread.getDefaultUncaughtExceptionHandler();}@Overridepublic void uncaughtException(Thread thread, Throwable ex) {Log.e(TAG, "uncaughtException:  抛异常");saveCrashInfo(ex);mDefaultHandler.uncaughtException(thread, ex);}private void saveCrashInfo(Throwable ex) {String time = DATE_FORMAT.format(new Date());String deviceInfo = getDeviceInfo();String crashInfo = getCrashInfo(ex);File externalDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS+"/"+CRASH_DIR);
//        File dir = new File(Environment.getExternalStorageDirectory(), CRASH_DIR);if (!externalDir.exists()) {externalDir.mkdirs();}
//        File dir = new File(Environment.getExternalStorageDirectory(), CRASH_DIR);
//        if (!dir.exists()) {
//            dir.mkdirs();
//        }File file = new File(externalDir, FILE_NAME);try (PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(file, true)))) {pw.println("========== Crash Log ==========");pw.println("Time: " + time);pw.println(deviceInfo);pw.println(crashInfo);pw.println();pw.println(); // 空行分隔每次崩溃记录} catch (IOException e) {e.printStackTrace();}}private String getDeviceInfo() {return "Model: " + Build.MODEL + "\n" +"Brand: " + Build.BRAND + "\n" +"Android SDK: " + Build.VERSION.SDK_INT + "\n" +"Version: " + Build.VERSION.RELEASE;}private String getCrashInfo(Throwable ex) {StringBuilder sb = new StringBuilder();sb.append("Exception: ").append(ex.getClass().getName()).append("\n");sb.append("Message: ").append(ex.getMessage()).append("\n");StackTraceElement[] stackTrace = ex.getStackTrace();for (StackTraceElement element : stackTrace) {sb.append("\tat ").append(element.toString()).append("\n");}return sb.toString();}
注意想创建文件夹要使用路径不能再是Environment.getExternalStorageDirectory()。否则可能无法成功指定到文件。

第二、实现类调用最好在Application的onCreate中实现,因为是全局的越早开始检测越好。

@Override
public void onCreate() {super.onCreate();context = this;Log.e(TAG, "onCreate: ");CrashHandler.init(this);
}
  • 第三、主动创建一个异常

  • Log.e(TAG, "error: "+ 1/0 );

    第四、实现效果:

http://www.dtcms.com/wzjs/504800.html

相关文章:

  • 网站建设宣传ppt模板下载学电脑办公软件培训班
  • 衡阳百度网站建设小时seo百度关键词点击器
  • 免费网站商城模板石家庄seo按天扣费
  • 长安网站建设方案在线数据分析网站
  • 公司网站建设费用估计安徽seo推广
  • 个性化WordPress网站最新舆情信息网
  • 网站开发一般流程图企业广告宣传
  • 泰安网站开发公司湖南网站建设平台
  • 做网站如果被忽悠了咋办百度引流推广怎么做
  • 太原网站建设.com互联网营销师报名
  • 网站建设与管理学习收获发布新闻最快的网站
  • 怎么做信息采集的网站技能培训网站
  • 展览馆网站建设方案书页面seo是什么意思
  • 如何与别的网站做友情链接今日热搜第一名
  • 邢台做移动网站费用外链推广
  • 男女做暖暖免费网站网络营销的优势
  • 电商网站 厦门公司网络推广的作用
  • b北京网站建设seo方案
  • 无忧网站建设费用郑州短视频代运营公司
  • 网站页面模板网络营销课程学什么
  • wordpress 网站建设中网络营销的步骤
  • 做微信的网站长沙岳麓区
  • wordpress 模板 中文提供搜索引擎优化公司
  • 网站进行诊断淘宝seo搜索优化工具
  • 网架公司的名称淄博搜索引擎优化
  • 寮步镇仿做网站数据分析网站
  • 使用joomla的网站怎么出售友情链接
  • 米拓企业网站管理系统如何做网站推广私人
  • 下载网站上的表格 怎么做新浪博客
  • 深圳做网上商城网站链接提交