基本信息
源码名称:android崩溃日志保存SDCARD-本地阅读-并发送email
源码大小:3.05M
文件格式:.zip
开发语言:Java
更新时间:2016-04-12
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 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
- }
- }