崩溃新的android进程停止整个应用程序

时间:2018-02-28 09:19:58

标签: android process

我有一个Android应用程序,它有mainctivty并且它启动了其他活动" secondactivity",这个第二个活动我开始在一个新的过程中通过添加android:process =":SecondProcess"在manifestfile中。

我正在使用以下代码开始第二项活动。

Intent ssIntent = new Intent(getApplicationContext(), SecondActivity.class);
startActivity(ssIntent);

下面是我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test">

<!-- To auto-complete the email text field in the login form with the user's emails -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.example.test.SecondActivity"
        android:process=":SecondProcess"
        android:label="@string/title_activity_basic"
        android:theme="@style/AppTheme.NoActionBar">
    </activity>
</application>

在Secondactivity中有崩溃(我在测试中添加了),现在根据我的理解只有第二个进程在第二个进程中发生崩溃时应该被杀死,因为它在单独的进程中运行,但是在我的测试中整个android应用程序被停止。

请您告诉我有没有办法处理这样一种方式,只有第二个进程应该被杀死,它不应该打扰整个应用程序。

我可以使用try catch来处理,但我的目标是确保即使在第二次崩溃后第一个Activity仍然存在。

1 个答案:

答案 0 :(得分:0)

用户try/catch来处理SecondActivity中的错误...以便它不会崩溃整个应用。

try {
  //Code that creates error in SecondActivity 
}catch(Exception e) { 
  //Close the activity after exception
  finish();
}