是Intent.FLAG_ACTIVITY_REORDER_TO_FRONT的任何备用(Is any

2019-10-20 16:56发布

我创建了两个活动,如下现在当点击来自MainActivity按钮,它显示SecondActivity并从SecondActivity点击按钮显示MainActivity正常,但现在点击回软按钮装置显示ANR。

MainActivity buttonClick - > SecondActivity buttonClick - >回软点击,导致ANR。

有没有什么解决方法吗?

这个问题与Android 4.4.4。 我知道这个https://code.google.com/p/android/issues/detail?id=63570#c2问题。

谢谢你的帮助。

  public class MainActivity extends Activity {
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv = (TextView) findViewById(R.id.textView1);
            tv.setText("Main Activity");
        }

        public void onClickBtn(View view)
        {
            Intent intent = new Intent(this, SecondActivity.class);
            startActivity(intent);
        }

        public void finish(){
            Log.v("MainActivity", "Finish of main activity called");
            super.finish();
        }
    }


    public class SecondActivity extends Activity {
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv = (TextView) findViewById(R.id.textView1);
            tv.setText("Second Activity");
        }

        public void onClickBtn(View view) {
            Intent intent = new Intent(this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
            startActivity(intent);
        }

        public void finish(){
            Log.v("SecondActivity", "Finish of second activity called");
            super.finish();
        }
    }

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="42dp"
        android:onClick="onClickBtn"
        android:text="Button" />


    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button1"
        android:text="@string/hello_world" />

</RelativeLayout>

Answer 1:

使用intent.setFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_CLEAR_TOP); 应用程序将不会崩溃。



文章来源: Is any alternate of Intent.FLAG_ACTIVITY_REORDER_TO_FRONT