Is any alternate of Intent.FLAG_ACTIVITY_REORDER_TO_FRONT

六眼飞鱼酱① 提交于 2019-12-12 22:46:13

问题


I am creating Two activities as below now when click on button from MainActivity it shows SecondActivity and on click button from SecondActivity shows MainActivity normally but now on click soft back button Device show ANR.

MainActivity buttonClick -> SecondActivity buttonClick -> Soft back click , results ANR.

Is there any workaround?

This issue with Android 4.4.4. I know about this https://code.google.com/p/android/issues/detail?id=63570#c2 issue.

Thanks for any help.

  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>

回答1:


use intent.setFlags (Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_CLEAR_TOP); the application will not crash.



来源:https://stackoverflow.com/questions/25306473/is-any-alternate-of-intent-flag-activity-reorder-to-front

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!