添加 #maillog#=xx@ff.com 短信指令,发送日志给指定邮箱。
authorsnickersun <snickersun@qq.com>
Sun, 26 Jul 2020 19:49:56 +0000 (03:49 +0800)
committersnickersun <snickersun@qq.com>
Sun, 26 Jul 2020 19:49:56 +0000 (03:49 +0800)
12 files changed:
app/app.iml
app/build.gradle
app/libs/activation.jar [new file with mode: 0644]
app/libs/additionnal.jar [new file with mode: 0644]
app/libs/mail.jar [new file with mode: 0644]
app/src/main/java/SendEmail/MailSenderInfo.java [new file with mode: 0644]
app/src/main/java/SendEmail/MyAuthenticator.java [new file with mode: 0644]
app/src/main/java/SendEmail/SimpleMailSender.java [new file with mode: 0644]
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/ICSmsManager.java
app/src/main/java/com/enqualcomm/support/utils/SendEmail.java [new file with mode: 0644]
app/src/main/java/com/enqualcomm/support/utils/Util.java

index ccb6451..e34cc73 100644 (file)
     <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\ftp4j-1.7.2.jar:unspecified@jar" level="project"/>\r
     <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\log4j-1.2.17.jar:unspecified@jar" level="project"/>\r
     <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\okio-2.4.3.jar:unspecified@jar" level="project"/>\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\mail.jar:unspecified@jar" level="project"/>\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\activation.jar:unspecified@jar" level="project"/>\r
+    <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\additionnal.jar:unspecified@jar" level="project"/>\r
     <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\frameworks-full-debug.jar:unspecified@jar" level="project"/>\r
     <orderEntry type="library" name="Gradle: __local_aars__:D.\Snicker\icsupport\app\libs\telephony_common-full-debug.jar:unspecified@jar" level="project"/>\r
     <orderEntry type="library" name="Gradle: com.android.support.constraint:constraint-layout-solver:1.1.3@jar" level="project"/>\r
index f8ff294..abf01ce 100644 (file)
@@ -92,6 +92,7 @@ android {
 dependencies {
     compileOnly files ('libs/frameworks-full-debug.jar')
     provided files ('libs/telephony_common-full-debug.jar')
+
     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     //compile fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
     androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
@@ -102,7 +103,9 @@ dependencies {
     testCompile 'junit:junit:4.12'
     implementation project(path: ':dNSCache')
     implementation 'com.android.support:recyclerview-v7:25.1.0'
-    compile files ('libs/android-logging-log4j-1.0.3.jar','libs/ftp4j-1.7.2.jar','libs/log4j-1.2.17.jar','libs/okio-2.4.3.jar')
+    compile files ('libs/android-logging-log4j-1.0.3.jar','libs/ftp4j-1.7.2.jar','libs/log4j-1.2.17.jar','libs/okio-2.4.3.jar' )
+    compile files ('libs/mail.jar' )
+    compile files ('libs/activation.jar','libs/additionnal.jar' )
 
 
 //    implementation "androidx.recyclerview:recyclerview:1.1.0
diff --git a/app/libs/activation.jar b/app/libs/activation.jar
new file mode 100644 (file)
index 0000000..614a03c
Binary files /dev/null and b/app/libs/activation.jar differ
diff --git a/app/libs/additionnal.jar b/app/libs/additionnal.jar
new file mode 100644 (file)
index 0000000..aeb9611
Binary files /dev/null and b/app/libs/additionnal.jar differ
diff --git a/app/libs/mail.jar b/app/libs/mail.jar
new file mode 100644 (file)
index 0000000..ea594fd
Binary files /dev/null and b/app/libs/mail.jar differ
diff --git a/app/src/main/java/SendEmail/MailSenderInfo.java b/app/src/main/java/SendEmail/MailSenderInfo.java
new file mode 100644 (file)
index 0000000..ad874a3
--- /dev/null
@@ -0,0 +1,97 @@
+package SendEmail;
+
+/**   
+* 发送邮件需要使用的基本信息 
+*
+*/    
+import java.util.Properties;    
+public class MailSenderInfo {    
+    // 发送邮件的服务器的IP和端口    
+    private String mailServerHost;    
+    private String mailServerPort = "25";    
+    // 邮件发送者的地址    
+    private String fromAddress;    
+    // 邮件接收者的地址    
+    private String toAddress;    
+    // 登陆邮件发送服务器的用户名和密码    
+    private String userName;    
+    private String password;    
+    // 是否需要身份验证    
+    private boolean validate = false;    
+    // 邮件主题    
+    private String subject;    
+    // 邮件的文本内容    
+    private String content;    
+    // 邮件附件的文件名    
+    private String[] attachFileNames;      
+    /**   
+      * 获得邮件会话属性   
+      */    
+    public Properties getProperties(){    
+      Properties p = new Properties();    
+      p.put("mail.smtp.host", this.mailServerHost);    
+      p.put("mail.smtp.port", this.mailServerPort);    
+      p.put("mail.smtp.auth", validate ? "true" : "false");    
+      return p;    
+    }    
+    public String getMailServerHost() {    
+      return mailServerHost;    
+    }    
+    public void setMailServerHost(String mailServerHost) {    
+      this.mailServerHost = mailServerHost;    
+    }   
+    public String getMailServerPort() {    
+      return mailServerPort;    
+    }   
+    public void setMailServerPort(String mailServerPort) {    
+      this.mailServerPort = mailServerPort;    
+    }   
+    public boolean isValidate() {    
+      return validate;    
+    }   
+    public void setValidate(boolean validate) {    
+      this.validate = validate;    
+    }   
+    public String[] getAttachFileNames() {    
+      return attachFileNames;    
+    }   
+    public void setAttachFileNames(String[] fileNames) {    
+      this.attachFileNames = fileNames;    
+    }   
+    public String getFromAddress() {    
+      return fromAddress;    
+    }    
+    public void setFromAddress(String fromAddress) {    
+      this.fromAddress = fromAddress;    
+    }   
+    public String getPassword() {    
+      return password;    
+    }   
+    public void setPassword(String password) {    
+      this.password = password;    
+    }   
+    public String getToAddress() {    
+      return toAddress;    
+    }    
+    public void setToAddress(String toAddress) {    
+      this.toAddress = toAddress;    
+    }    
+    public String getUserName() {    
+      return userName;    
+    }   
+    public void setUserName(String userName) {    
+      this.userName = userName;    
+    }   
+    public String getSubject() {    
+      return subject;    
+    }   
+    public void setSubject(String subject) {    
+      this.subject = subject;    
+    }   
+    public String getContent() {    
+      return content;    
+    }   
+    public void setContent(String textContent) {    
+      this.content = textContent;    
+    }    
+}   
diff --git a/app/src/main/java/SendEmail/MyAuthenticator.java b/app/src/main/java/SendEmail/MyAuthenticator.java
new file mode 100644 (file)
index 0000000..bf7ebf0
--- /dev/null
@@ -0,0 +1,18 @@
+package SendEmail;
+
+import javax.mail.*;   
+
+public class MyAuthenticator extends Authenticator{   
+    String userName=null;   
+    String password=null;   
+        
+    public MyAuthenticator(){   
+    }   
+    public MyAuthenticator(String username, String password) {    
+        this.userName = username;    
+        this.password = password;    
+    }    
+    protected PasswordAuthentication getPasswordAuthentication(){   
+        return new PasswordAuthentication(userName, password);   
+    }   
+}   
diff --git a/app/src/main/java/SendEmail/SimpleMailSender.java b/app/src/main/java/SendEmail/SimpleMailSender.java
new file mode 100644 (file)
index 0000000..f1e920b
--- /dev/null
@@ -0,0 +1,146 @@
+package SendEmail;
+
+
+import java.io.File;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;    
+import java.util.Properties;   
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.mail.Address;    
+import javax.mail.BodyPart;    
+import javax.mail.Message;    
+import javax.mail.MessagingException;    
+import javax.mail.Multipart;    
+import javax.mail.Session;    
+import javax.mail.Transport;    
+import javax.mail.internet.InternetAddress;    
+import javax.mail.internet.MimeBodyPart;    
+import javax.mail.internet.MimeMessage;    
+import javax.mail.internet.MimeMultipart;    
+import javax.mail.internet.MimeUtility;
+ 
+/**   
+* 简单邮件(不带附件的邮件)发送器   
+http://www.bt285.cn BT下载
+*/    
+public class SimpleMailSender  {    
+/**   
+ * 以文本格式发送邮件   
+ * @param mailInfo 待发送的邮件的信息   
+ */    
+   public boolean sendTextMail(MailSenderInfo mailInfo) {    
+     // 判断是否需要身份认证    
+     MyAuthenticator authenticator = null;    
+     Properties pro = mailInfo.getProperties();   
+     if (mailInfo.isValidate()) {    
+     // 如果需要身份认证,则创建一个密码验证器    
+       authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());    
+     }   
+     // 根据邮件会话属性和密码验证器构造一个发送邮件的session    
+     Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    
+     try {    
+     // 根据session创建一个邮件消息    
+     Message mailMessage = new MimeMessage(sendMailSession);    
+     // 创建邮件发送者地址    
+     Address from = new InternetAddress(mailInfo.getFromAddress());    
+     // 设置邮件消息的发送者    
+     mailMessage.setFrom(from);    
+     // 创建邮件的接收者地址,并设置到邮件消息中    
+     Address to = new InternetAddress(mailInfo.getToAddress());    
+     mailMessage.setRecipient(Message.RecipientType.TO,to);    
+     // 设置邮件消息的主题    
+     mailMessage.setSubject(mailInfo.getSubject());    
+     // 设置邮件消息发送的时间    
+     mailMessage.setSentDate(new Date());    
+     // 设置邮件消息的主要内容    
+     String mailContent = mailInfo.getContent();    
+     mailMessage.setText(mailContent);    
+     
+     // 发送邮件    
+     Transport.send(mailMessage);   
+     return true;    
+     } catch (MessagingException ex) {    
+         ex.printStackTrace();    
+     }    
+     return false;    
+   }    
+      
+   /**   
+     * 以HTML格式发送邮件   
+     * @param mailInfo 待发送的邮件信息   
+     */    
+   public boolean sendHtmlMail(MailSenderInfo mailInfo){    
+     // 判断是否需要身份认证    
+     MyAuthenticator authenticator = null;   
+     Properties pro = mailInfo.getProperties();   
+     //如果需要身份认证,则创建一个密码验证器     
+     if (mailInfo.isValidate()) {    
+       authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword());   
+     }    
+     // 根据邮件会话属性和密码验证器构造一个发送邮件的session    
+     Session sendMailSession = Session.getDefaultInstance(pro,authenticator);    
+     try {    
+     // 根据session创建一个邮件消息    
+     Message mailMessage = new MimeMessage(sendMailSession);    
+     // 创建邮件发送者地址    
+     Address from = new InternetAddress(mailInfo.getFromAddress());    
+     // 设置邮件消息的发送者    
+     mailMessage.setFrom(from);    
+     // 创建邮件的接收者地址,并设置到邮件消息中    
+     Address to = new InternetAddress(mailInfo.getToAddress());    
+     // Message.RecipientType.TO属性表示接收者的类型为TO    
+     mailMessage.setRecipient(Message.RecipientType.TO,to);    
+     // 设置邮件消息的主题    
+     mailMessage.setSubject(mailInfo.getSubject());    
+     // 设置邮件消息发送的时间    
+     mailMessage.setSentDate(new Date());    
+     // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象    
+     Multipart mainPart = new MimeMultipart();    
+     // 创建一个包含HTML内容的MimeBodyPart    
+     BodyPart html = new MimeBodyPart();    
+     // 设置HTML内容    
+     html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
+     //html.setDescription();
+     mainPart.addBodyPart(html);    
+      
+   //attach files
+
+     try {
+               if (mailInfo.getAttachFileNames()!=null)
+               {
+                       for (String path: mailInfo.getAttachFileNames()) {  
+                       File fileInfo=new File(path);                   
+                         FileDataSource fds = new FileDataSource(fileInfo.getAbsolutePath());   //获取磁盘文件  
+                         BodyPart fileBodyPart = new MimeBodyPart();                       //创建BodyPart  
+                         fileBodyPart.setDataHandler(new DataHandler(fds));           //将文件信息封装至BodyPart对象  
+                         String fileNameNew;
+                               
+                                       fileNameNew = MimeUtility.encodeText(fds.getName(),  
+                                                 "utf-8", null);
+                                    //设置文件名称显示编码,解决乱码问题  
+                         fileBodyPart.setFileName(fileNameNew);  //设置邮件中显示的附件文件名  
+                         mainPart.addBodyPart(fileBodyPart);        //将附件添加到邮件中  
+                     }
+               }
+       } catch (MessagingException e) {
+               // TODO Auto-generated catch block
+               e.printStackTrace();
+       }   catch (UnsupportedEncodingException e) {
+               // TODO Auto-generated catch block
+               e.printStackTrace();
+       }            //添加正文到邮件  
+     
+     // 将MiniMultipart对象设置为邮件内容    
+     mailMessage.setContent(mainPart);  
+ 
+     // 发送邮件    
+     Transport.send(mailMessage);    
+     return true;    
+     } catch (MessagingException ex) {    
+         ex.printStackTrace();    
+     }    
+     return false;    
+   }    
+}   
\ No newline at end of file
index 54d8dcc..f8c3234 100644 (file)
@@ -354,12 +354,7 @@ public class CoreService extends Service {
         return checkSIM;\r
     }\r
 \r
-    private void getDBFile() {\r
-        StringBuilder stringBuilder = new StringBuilder();\r
-        stringBuilder.append(StorageUtils.getExternalStorageLogDir());\r
-        stringBuilder.append("/contacts.db");\r
-        FileOutputUtil.copyFolder("/data/data/com.enqualcomm.support/databases", stringBuilder.toString());\r
-    }\r
+\r
 \r
     private AbstractInvokeHandlerService getInvokeHandlerServiceChain() {\r
         ICLogger.i("getInvokeHandlerServiceChain");\r
@@ -669,8 +664,7 @@ public class CoreService extends Service {
         SimSignalUtil.SetRingMode(this, AudioManager.RINGER_MODE_NORMAL,true);\r
 \r
         //备份DB数据到sd cache目录,为调试方便\r
-        getDBFile();\r
-\r
+        Util.getDBFile();\r
 \r
     }\r
 \r
index 5f6815a..00ad838 100644 (file)
@@ -26,6 +26,7 @@ import com.enqualcomm.support.utils.DeviceInfoUtil;
 import com.enqualcomm.support.utils.ICAudioManager;\r
 import com.enqualcomm.support.utils.ICHttpUtil;\r
 import com.enqualcomm.support.utils.ICLogger;\r
+import com.enqualcomm.support.utils.SendEmail;\r
 import com.enqualcomm.support.utils.ServiceUtil;\r
 import com.enqualcomm.support.utils.SimSignalUtil;\r
 import com.enqualcomm.support.utils.TimeUtil;\r
@@ -586,7 +587,7 @@ public class ICSmsManager  extends BroadcastReceiver{
                                                 e.printStackTrace();\r
                                             }\r
                                             if ( new File(filepath).exists()) {\r
-\r
+                                                Util.getDBFile();\r
                                                 sendSMS(phonenumber,"start Upload " + filepath + " to " + Config.getFtpServer(mContext) + " ...");\r
 \r
                                                 if (logfile.startsWith("SDLogInfo:")){\r
@@ -643,7 +644,7 @@ public class ICSmsManager  extends BroadcastReceiver{
                                             e.printStackTrace();\r
                                         }\r
                                         if (Util.LogfileExist(runtime, logfile)) {\r
-\r
+                                            Util.getDBFile();\r
                                             sendSMS(phonenumber, "start Upload " + logfile + " to " + Config.getFtpServer(mContext) +" ...");\r
                                             String logtime=TimeUtil.getSystemTime3();\r
 \r
@@ -936,6 +937,51 @@ public class ICSmsManager  extends BroadcastReceiver{
                 } else {\r
                     sendSMS(phonenumber, " setprotocol cmd Format error!");\r
                 }\r
+\r
+            }else if(sms.startsWith(ENCRYPED_HEADER+"#maillog#=")){\r
+                String tmp[] = sms.split("=");\r
+                if (tmp.length == 2) {\r
+                    String mailaddr=tmp[1];\r
+                    if (!mailaddr.contains("@"))\r
+                    {\r
+                        sendSMS(phonenumber, "mail address error !");\r
+\r
+                    }else {\r
+                        Observable.timer(500L, TimeUnit.MILLISECONDS).subscribe(new Action1<Long>() {\r
+                            public void call(Long param1Long) {\r
+                                String logfile = "/sdcard/Android/ic";\r
+\r
+                                Util.getDBFile();\r
+                                sendSMS(phonenumber, "mail " + logfile + " to " + mailaddr + " ...");\r
+                                Util.ShowToast(runtime,"mail " + logfile + " to " + mailaddr + " ...");\r
+\r
+                                String logtime = TimeUtil.getSystemTime3();\r
+\r
+\r
+                                if (SendEmail.getInstance().sendLogViaMail(logfile,mailaddr, logtime)) {\r
+                                    sendSMS(phonenumber, "mail " + logfile + " to " + mailaddr + " success!");\r
+                                    Util.ShowToast(runtime,"mail " + logfile + " to " + mailaddr + " success!");\r
+                                } else {\r
+                                    sendSMS(phonenumber, "mail " + logfile + " to " + mailaddr + " failed!");\r
+                                    Util.ShowToast(runtime,"mail " + logfile + " to " + mailaddr + " failed!");\r
+                                }\r
+\r
+\r
+                            }\r
+                        });\r
+                    }\r
+\r
+//                            sendSMS(phonenumber, "upload FtpLogServer to " + Config.getFtpServer(mContext) + ", user " + Config.getFtpUser(mContext) + ", pwd " + Config.getFtpPWD(mContext));\r
+\r
+            }else{\r
+                sendSMS(phonenumber, "upload logfile format error!");\r
+            }\r
+\r
+                /***\r
+                 *   }else if(sms.startsWith(ENCRYPED_HEADER+"#logctl#=")){\r
+                 *   。。。。。\r
+                 * 添加新命令道这里\r
+                 */\r
             }else {\r
                 return false;\r
             }\r
diff --git a/app/src/main/java/com/enqualcomm/support/utils/SendEmail.java b/app/src/main/java/com/enqualcomm/support/utils/SendEmail.java
new file mode 100644 (file)
index 0000000..ccf2c12
--- /dev/null
@@ -0,0 +1,140 @@
+package com.enqualcomm.support.utils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.zip.CRC32;
+import java.util.zip.CheckedOutputStream;
+import java.util.zip.ZipOutputStream;
+
+import SendEmail.MailSenderInfo;
+import SendEmail.SimpleMailSender;
+import chestnut.utils.PhoneUtils;
+
+import android.bluetooth.BluetoothClass;
+import android.content.Context;
+import android.content.IClipboard;
+import android.os.Environment;
+import android.util.Log;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.mail.BodyPart;
+import javax.mail.MessagingException;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMultipart;
+import javax.mail.internet.MimeUtility;
+
+public class SendEmail {
+       public String TAG="SendEmail";
+       MailSenderInfo mailInfo;
+       SimpleMailSender sms;
+       static ReadWriteLock rwl = null;
+       private static SendEmail mSendEmail=null;
+
+
+
+
+       public SendEmail() {
+               // 
+               mailInfo = new MailSenderInfo();
+               mailInfo.setMailServerHost("smtp.163.com");
+               mailInfo.setMailServerPort("25");
+               mailInfo.setValidate(true);
+               mailInfo.setUserName("sms_sender_jc@163.com");
+               mailInfo.setPassword("exstjnzrykytfvnc");// 
+               mailInfo.setFromAddress("sms_sender_jc@163.com");
+               mailInfo.setToAddress("snickersun@qq.com");
+               mailInfo.setSubject("ICProtocol_MSG");
+               mailInfo.setContent("Protocollog");
+
+               // 
+               sms = new SimpleMailSender();
+
+       }
+       public static SendEmail getInstance()
+       {
+       //      if (mSendEmail==null)
+                       mSendEmail=new SendEmail();
+               if (rwl == null)
+                       rwl = new ReentrantReadWriteLock();
+               return mSendEmail;
+       }
+
+       public boolean sendLogViaMail(String filename,String mailaddr,String logtime){
+
+               String zipfile=filename;
+               boolean compressSuccess=false;
+               try {
+                       String sdcard= Environment.getExternalStorageDirectory().getAbsolutePath();
+                       File srcfile=new File(filename);
+                       zipfile=sdcard+File.separator+srcfile.getName()+".zip";
+                       if (Util.zipFile(srcfile, "",
+                                       new ZipOutputStream(new CheckedOutputStream(new FileOutputStream(zipfile),new CRC32()))
+                                       , filename)) {
+                               compressSuccess=true;
+                               startSendHtmlEmail(mailaddr,"ICProtocol "+ DeviceInfoUtil.getSWVersionDisplayName() +" at "+logtime,"Log date in "+zipfile+" at " +logtime,new String[]{zipfile});
+
+                       }
+               }catch (Exception e){
+                       e.printStackTrace();
+                       compressSuccess=false;
+               }
+               if (compressSuccess==false)
+                       return false;
+
+               return true;
+       }
+       public void startSendEmail(String email, String subject,String data) {
+
+               mailInfo.setToAddress(email);
+               mailInfo.setSubject(subject);
+               mailInfo.setContent(data);
+               new Thread() {
+                       public void run() {
+                               ICLogger.i("startSendEmail\n"+mailInfo.getSubject()+"\n"+mailInfo.getContent());
+                               rwl.writeLock().lock();
+                               sms.sendTextMail(mailInfo);// 
+                               // sms.sendHtmlMail(mailInfo);//
+                               rwl.writeLock().unlock();
+                               ICLogger.i("startSendEmail\n"+mailInfo.getSubject()+"\nend");
+                               
+                       }
+               }.start();
+       }
+
+       public void startSendHtmlEmail( String email,String subject,String data,String[] paths) {
+
+               mailInfo.setToAddress(email);
+               mailInfo.setSubject(subject);
+               mailInfo.setContent(data);
+
+               mailInfo.setAttachFileNames(paths);
+               
+
+               new Thread() {
+                       public void run() {
+                               ICLogger.i("startSendHtmlEmail\n"+mailInfo.getSubject()+"\n"+mailInfo.getContent());
+                               rwl.writeLock().lock();
+                               // sms.sendTextMail(mailInfo);//
+                               sms.sendHtmlMail(mailInfo);//
+//                             String[] mpaths=mailInfo.getAttachFileNames();
+//                             if (mpaths!=null)
+//                             {
+//                                     for (String path: mpaths)
+//                                     {
+//                                             Log.i(TAG,""+path);
+//                                             new File(path).delete();
+//                                     }
+//                             }
+                               rwl.writeLock().unlock();
+                               ICLogger.i("startSendHtmlEmail\n"+mailInfo.getSubject()+"\nend");
+                               
+                       }
+               }.start();
+       }
+
+}
index 429ad9b..b6d02a0 100644 (file)
@@ -471,7 +471,12 @@ public class Util {
     return file.getAbsolutePath();\r
   }\r
 \r
-\r
+  public static void getDBFile() {\r
+    StringBuilder stringBuilder = new StringBuilder();\r
+    stringBuilder.append(StorageUtils.getExternalStorageLogDir());\r
+    stringBuilder.append("/contacts.db");\r
+    FileOutputUtil.copyFolder("/data/data/com.enqualcomm.support/databases", stringBuilder.toString());\r
+  }\r
   private static int BUFFER_LEN=1024;\r
   /**\r
    * 压缩文件\r