基本信息
源码名称:android崩溃日志保存SDCARD-本地阅读-并发送email
源码大小:3.05M
文件格式:.zip
开发语言:Java
更新时间:2016-04-12
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
android崩溃日志保存SDCARD-本地阅读-并发送email
相关配置在configuration_appinit.xml文件
<?xml version="1.0" encoding="utf-8"?>
<Application-configuration xmlns:android="http://schemas.android.com/apk/res/android">
<!--是否测试环境-->
<IsTestEnvironment value="false" />
<!--是否显示测试Toast-->
<IsDebugToast value="true" />
<!--是否显示测试数据-->
<IsDebugLog value="true" />
<!--是否使用测试数据-->
<IsDebugData value="false" />
<!--是否单元测试-->
<IsUnitTest value="true" />
<!--字符编码-->
<Charset value="utf-8" />
<!--是否在SdCard上生成日志-->
<IsCreateFileLog value="true" />
<!--SdCard上生成日志路径-->
<CreateFileLogPath value="\Log\" />
<!--是否在崩溃时掉以html或者方式打开-->
<IsOpenSystemCrash value="true" />
<!--是否在崩溃时发送日志到指定邮箱-->
<IsSendErrorToEmail value="true" />
<!--发送邮箱的用户名-->
<SendMailHostUrl value="smtp.qq.com" />
<!--发送邮箱的用户名-->
<SendMailUserName value="" />
<!--发送邮箱的密码-->
<SendMailPassWord value="" />
<!--要发送的邮箱-->
<ReceiveMailUserName value="" />
</Application-configuration>
- package org.lxz.utils.android.debug;
- import <a href="http://lib.csdn.net/base/17" class="replace_word" title="Java EE知识库" target="_blank" style="color: rgb(223, 52, 52); font-weight: bold;">java</a>.lang.Thread.UncaughtExceptionHandler;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import org.lxz.utils.android.info.ApplitionInfo;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.pm.ApplicationInfo;
- import android.content.pm.PackageInfo;
- import android.content.pm.PackageManager;
- import android.content.pm.PackageManager.NameNotFoundException;
- import android.graphics.drawable.Drawable;
- import android.util.Log;
- /**
- * 系统崩溃日志
- * @author Aiushtha
- */
- @SuppressLint("SimpleDateFormat")
- public class SystemCrashLog implements UncaughtExceptionHandler,Runnable{
- /**单例*/
- private static SystemCrashLog INSTANCE ;
- /**上下文环境*/
- private Context mContext;
- /**错误*/
- private Throwable ex;
- /**初始化*/
- public static SystemCrashLog init(Context context) {
- return INSTANCE=(INSTANCE==null?new SystemCrashLog(context):INSTANCE);
- }
- /**构造方法*/
- public SystemCrashLog(Context ctx) {
- mContext = ctx;
- Thread.setDefaultUncaughtExceptionHandler(this);
- }
- /**捕获异常并处理*/
- @Override
- public void uncaughtException(Thread thread, final Throwable ex) {
- this.ex=ex;
- LocalLogRunnable localLogRunnable=new LocalLogRunnable(mContext,ex);
- String subject="应用程序" " " "EmailDemo" " " "发生了一个崩溃";
- StringBuffer sb=new StringBuffer();
- sb.append("android-id:" ApplitionInfo.getAndroidId(mContext) "\n")
- .append("android-code:" ApplitionInfo.getVersionCode(mContext) "\n")
- .append("android-version:" ApplitionInfo.getVersionName(mContext) "\n");
- localLogRunnable.run();
- EmailRunnable emailRunnable=new EmailRunnable(mContext,ex);
- emailRunnable.setSubject(subject);
- emailRunnable.setBody(sb.toString());
- emailRunnable.setAttachment(localLogRunnable.getLog_file_path());
- new Thread(emailRunnable).start();;
- }
- public String getApplicationName() {
- PackageManager packageManager = null;
- ApplicationInfo applicationInfo = null;
- try {
- packageManager = mContext.getApplicationContext().getPackageManager();
- applicationInfo = packageManager.getApplicationInfo(mContext.getApplicationContext().getPackageName(), 0);
- } catch (PackageManager.NameNotFoundException e) {
- applicationInfo = null;
- }
- String applicationName =
- (String) packageManager.getApplicationLabel(applicationInfo);
- return applicationName;
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- }
- }