Recovery

Additional

Language
Java
Version
0.1.4 (Mar 1, 2017)
Created
Sep 4, 2016
Updated
Apr 13, 2018
Owner
zhengxiaoyong (Sunzxyong)
Contributors
zhengxiaoyong (Sunzxyong)
Addvilz
2
Activity
Badge
Generate
Download
Source code
APK file

Advertisement

or

    debugImplementation 'com.zxy.android:recovery:0.1.6'
    releaseImplementation 'com.zxy.android:recovery-no-op:0.1.6'

Using Maven

<dependency>
   <groupId>com.zxy.android</groupId>
   <artifactId>recovery</artifactId>
   <version>0.1.6</version>
   <type>pom</type>
</dependency>

Initialization

You can use this code sample to initialize Recovery in your application:

        Recovery.getInstance()
                .debug(true)
                .recoverInBackground(false)
                .recoverStack(true)
                .mainPage(MainActivity.class)
                .recoverEnabled(true)
                .callback(new MyCrashCallback())
                .silent(false, Recovery.SilentMode.RECOVER_ACTIVITY_STACK)
                .skip(TestActivity.class)
                .init(this);

If you don't want to show the RecoveryActivity when the application crash in runtime,you can use silence recover to restore your application.

You can use this code sample to initialize Recovery in your application:

        Recovery.getInstance()
                .debug(true)
                .recoverInBackground(false)
                .recoverStack(true)
                .mainPage(MainActivity.class)
                .recoverEnabled(true)
                .callback(new MyCrashCallback())
                .silent(true, Recovery.SilentMode.RECOVER_ACTIVITY_STACK)
                .skip(TestActivity.class)
                .init(this);

If you only need to display 'RecoveryActivity' page in development to obtain the debug data, and in the online version does not display, you can set up recoverEnabled(false);

Arguments

Argument Type Function
debug boolean Whether to open the debug mode
recoverInBackgroud boolean When the App in the background, whether to restore the stack
recoverStack boolean Whether to restore the activity stack, or to restore the top activity
mainPage Class<? extends Activity> Initial page activity
callback RecoveryCallback Crash info callback
silent boolean,SilentMode Whether to use silence recover,if true it will not display RecoveryActivity and restore the activity stack automatically

SilentMode

  1. RESTART - Restart App
  2. RECOVER_ACTIVITY_STACK - Restore the activity stack
  3. RECOVER_TOP_ACTIVITY - Restore the top activity
  4. RESTART_AND_CLEAR - Restart App and clear data

Callback

public interface RecoveryCallback {

    void stackTrace(String stackTrace);

    void cause(String cause);

    void exception(
     String throwExceptionType,
     String throwClassName,
     String throwMethodName,
     int throwLineNumber
    );
    
    void throwable(Throwable throwable);
}

Custom Theme

You can customize UI by setting these properties in your styles file:

    <color name="recovery_colorPrimary">#2E2E36</color>
    <color name="recovery_colorPrimaryDark">#2E2E36</color>
    <color name="recovery_colorAccent">#BDBDBD</color>
    <color name="recovery_background">#3C4350</color>
    <color name="recovery_textColor">#FFFFFF</color>
    <color name="recovery_textColor_sub">#C6C6C6</color>

Crash File Path

{SDCard Dir}/Android/data/{packageName}/files/recovery_crash/