【问题标题】:Is any alternate of Intent.FLAG_ACTIVITY_REORDER_TO_FRONT是 Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 的任何替代品
【发布时间】:2014-08-14 11:02:35
【问题描述】:

我正在创建如下两个活动,当单击 MainActivity 中的按钮时,它会显示 SecondActivity,而单击 SecondActivity 中的按钮会正常显示 MainActivity,但现在单击软后退按钮时,设备会显示 ANR。

MainActivity buttonClick -> SecondActivity buttonClick -> Soft back click ,结果 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>

【问题讨论】:

  • 请发布logcat
  • 感谢帮助,但它不起作用..(完成只是为了显示日志)
  • @Aniruddha:logcat 中没有任何内容只是显示 ANR 启动器没有响应。
  • 除了上面在活动中发布的内容之外,您还有什么活动吗?
  • 尝试在你的清单文件中使用,在活动标签 android:parentActivityName="your first Activity"

标签: android android-intent android-activity start-activity


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多