2015-04-15 1 views
0

У меня есть некоторые файлы журналов в моем приложении, и я хочу сделать zip-файл с этими журналами и отправить его через Instabug, когда я встряхну телефона и нажмите «Сообщить об ошибке» или «Отправить отзыв».Как узнать, когда вызывается InstaBug, поэтому я могу сделать архив

Это код из моего приложения:

Instabug.initialize(this) 
      .setAnnotationActivityClass(InstabugAnnotationActivity.class) 
      .setShowIntroDialog(true, PSTimelineActivity.class) 
      .enableEmailField(true,false) 
      .setEnableOverflowMenuItem(true) 
      .setDebugEnabled(true) 
      .setBugHeaderText("Error") 
      .attachFileAtLocation(Environment.getExternalStorageDirectory() + "/Passenger/log.zip"); 

Как вы можете видеть, я выбираю файл, который должен быть присоединен, но мне также нужно сделать этот файл из моего файла журнала, только после того, как я тряхнул телефона (поэтому он будет принимать последние журналы) и перед нажатием любой из 2 кнопок для отчета. У меня есть функция архива, я просто не знаю, где бы я мог сказать, что это сработает. Любые идеи?

+1

Привет, это Хасан из Instabug. Я думаю, вам стоит взглянуть на [setPreSendingRunnable] (https://instabug.com/public/android-api-reference/com/instabug/library/Instabug.html#setPreSendingRunnable-java.lang.Runnable-), он запускается прямо перед отправкой отчета, и вы можете сделать эту предварительную обработку там. Дайте мне знать, как это происходит, мы также доступны по адресу [email protected] –

+0

@HassanIbraheem Спасибо большое! Он отлично работал. Другое дело, я заметил, что если я встряхну, чтобы сообщить об ошибке, и сделайте снимок экрана с Activity, который содержит диалог или представление в виде карт Google. Диалоги не отображаются на скриншоте, а вид google maps - серый. Это из Instabug, или это проблема на моей стороне приложения? –

+0

Это здорово. Что касается диалогов и Карт Google, к сожалению, вам придется добавить несколько вызовов, чтобы заставить их работать, поскольку они отображаются по-разному. Для Карт Google ознакомьтесь с [addMapView] (https://instabug.com/public/android-api-reference/com/instabug/library/Instabug.html#addMapView-android.view.View-com.google. android.gms.maps.GoogleMap-) и для диалогов: [setDialog] (https://instabug.com/public/android-api-reference/com/instabug/library/Instabug.html#setDialog-android.app. Dialog-). –

ответ

0

Я инициализирован Instabug так:

Instabug.initialize(this) 
      .setAnnotationActivityClass(InstabugAnnotationActivity.class) 
      .setShowIntroDialog(true, PSTimelineActivity.class) 
      .enableEmailField(true,false) 
      .setEnableOverflowMenuItem(true) 
      .setDebugEnabled(true) 
      .setBugHeaderText("Error") 
      .setPreSendingRunnable(new Runnable() { 
       @Override 
       public void run() { 
        String[] files = new String[2]; 
        files[0] = Environment.getExternalStorageDirectory() + "/Passenger/passenger_log.txt"; 
        files[1] = Environment.getExternalStorageDirectory() + "/Passenger/passenger_log2.txt"; 
        Compress compress = new Compress(files, Environment.getExternalStorageDirectory() + "/Passenger/log.zip"); 
        compress.zip(new CrudStateCallback() { 
         @Override 
         public void onResponse(String string) { 
          Log.i("", "ended making the archive"); 
         } 
        }); 
       } 
      }) 
      .attachFileAtLocation(Environment.getExternalStorageDirectory() + "/Passenger/log.zip"); 

Следуя совету Хассан Ибрахим, а теперь я создаю .zip в preSendingRunnable.

 Смежные вопросы

  • Нет связанных вопросов^_^