应用程序崩溃时如何显示屏幕

时间:2018-09-08 07:20:11

标签: android

当我的应用在任何地方崩溃时,如何显示有关“发生某些错误”的默认屏幕。 就像有时发生在Facebook和其他应用程序中一样,每当应用程序失去try catch块的控制权时,就会自动打开一个显示错误的屏幕。 如果我在android中遇到应用崩溃时的回调,请帮助我。

3 个答案:

答案 0 :(得分:1)

要在应用崩溃时显示自定义活动,您可以使用库CustomActivityOnCrash

要使用此库,请按照以下步骤操作:

1。将依赖项添加到build.gradle文件中

int foo(16, 16)
{
   return 16 * 16;
}

2。添加自定义活动以显示崩溃。

implementation 'cat.ereza:customactivityoncrash:2.2.0'

3。将这些代码行添加到扩展应用程序的错误主动性

<activity
android:name="CustomErrorActivity"
android:label="@string/error_title"
android:process=":error_activity" />

有关库click here的更多信息和高级自定义

答案 1 :(得分:1)

您可以使用名为CustomActivityOnCrash的库。使用它,您可以在应用崩溃时指定默认的Activity。因此,要进行设置,请执行以下操作:

1)将compile 'cat.ereza:customactivityoncrash:2.2.0'添加到您的app级别build.gradle

这时,如果您运行应用程序并遇到崩溃,则会显示该库中的默认错误Activity

但是,如果您想显示自己的错误Activity,则需要执行另外两个步骤。

2)在清单中定义错误Activity

<activity
    android:name="CustomErrorActivity"
    android:label="@string/error_title"
    android:process=":error_activity" />

3)如下扩展您的Application类:

@Override
public void onCreate() {
    super.onCreate();    

    CaocConfig.Builder.create()
        .trackActivities(true) //default: false
        .errorActivity(CustomErrorActivity.class)//
        .apply();
}

有关该库的更多信息,请转到here

答案 2 :(得分:1)

您可以使用CustomActivityOnCrash库

structure(list(seq_start = c(NA, NA, NA, NA, NA, 1, NA, NA, NA, 
NA, NA, 1, NA, 1, NA, NA, NA, NA, NA, NA, 1, 1, NA, NA, NA, NA, 
NA, 1, 1, NA, NA, 1, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA, NA, NA, NA, 1, 
NA), seq_end = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1L, 
1L, 1L, 1L, NA, NA, 1L, 1L, 1L, NA, 1L, NA, NA, NA, NA, NA, 1L, 
1L, NA, NA, 1L, 1L, NA, 1L, 1L, 1L, 1L, NA, NA, NA, 1L, 1L, NA, 
NA, NA, NA, NA, NA, 1L, NA, 1L, 1L, NA, 1L, 1L, NA, NA, 1L, 1L, 
1L), seq = c(NA, NA, NA, NA, NA, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 
NA, 3L, NA, NA, NA, NA, NA, NA, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 
7L, 7L, 7L, 8L, NA, NA, NA, 9L, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, 10L, 10L, NA, NA, NA, NA, NA, NA, NA, 11L, 
NA)), .Names = c("seq_start", "seq_end", "seq"), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -60L))