为了账号安全,请及时绑定邮箱和手机立即绑定

在特定活动中遇到错误后终止整个应用程序

在特定活动中遇到错误后终止整个应用程序

HUX布斯 2021-05-10 17:18:01
我有一个包含几个活动的应用程序,正在发生的事情是:当其中一个活动发生错误,而我遇到“不幸的是,X应用程序已停止工作”错误时,只有一个活动停止工作,它会自动跳转到另一个活动,并继续在后台运行该应用程序,并且出现错误,我正在寻找的是:有什么方法可以在清单部分中添加任何类型的代码,以在遇到特定活动中的错误时终止整个应用程序,或者甚至向具有面临错误风险的活动中添加附加代码?我的清单<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.company.dpDemo.dpDemo"><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /><uses-permission android:name="android.permission.VIBRATE" /><application    android:allowBackup="true"    android:excludeFromRecents="true"    android:icon="@drawable/titl"    android:label="FINDER III"    android:supportsRtl="false"    android:theme="@style/Theme.AppCompat.NoActionBar">    <activity        android:name=".FirstLoad"        android:configChanges="orientation"        android:screenOrientation="portrait">        <intent-filter>            <action android:name="android.intent.action.MAIN" />            <category android:name="android.intent.category.LAUNCHER" />        </intent-filter>    </activity>    <activity android:name=".welcome" />    <activity android:name=".BluetoothConnectionActivity" />    <activity android:name=".DeviceList" />    <activity android:name=".AutoAndManual" />    <activity android:name=".MetalList" />    <activity android:name=".FreQuencyManual" />    <activity android:name=".CommunicationAuto" />    <activity android:name=".CommunicationAuto2" />    <activity android:name=".CommunicationAuto3" />    <activity android:name=".CommunicationAuto4" />    <activity android:name=".LoadingNewOne" />    <activity android:name=".FinalAutoResult" />    <activity android:name=".Security" />    <activity android:name=".LoadingNewTwo" />    <activity android:name=".LoadingNewThree" />    <activity android:name=".LoadingNewFour" />    <activity android:name=".AutoSelection" />
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

请尝试以下可能对您有帮助的代码:


public class MyApplication extends Application

{

  public void onCreate ()

  {

    // Setup handler for uncaught exceptions.

    Thread.setDefaultUncaughtExceptionHandler (new Thread.UncaughtExceptionHandler()

    {

      @Override

      public void uncaughtException (Thread thread, Throwable e)

      {

        handleUncaughtException (thread, e);

      }

    });

  }


  public void handleUncaughtException (Thread thread, Throwable e)

  {

    //Write your code here to manage

    System.exit(1); // kill off the crashed app

  }

}


查看完整回答
反对 回复 2021-05-12
?
HUWWW

TA贡献1874条经验 获得超12个赞

清单不提供任何实用程序。您必须做的是将所有Android代码的相关功能包装在try and catch块中。然后,您可以捕获要关闭其应用程序的任何异常,并在“捕获”部分中使用以下代码:


try{

 // code

 }catch(Exceptions e){

 finishAffinity();

 System.exit(0);

 }

尽管可以等待一段时间,但finishAffinity()是关闭应用程序的安全方法。System.exit(0)立即关闭应用程序,尽管它可能会突然关闭应用程序带来一些副作用。


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信