栈退出应用程序
一.实现思路
1.首先你要做栈退出应用程序,你就需知道如果为了更加便利,在栈中有多个Activity,就可把栈看成一个集合
2.于是我们需要建一个application的类,来实现自己的application
3.然后实现效果
二.下面是效果图以及
(2)代码块
public class MainActivity extends AppCompatActivity { private long fristTime; private TextView textView; private MyApplication myApplication; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.main_text); textView.setText("当前Activity实例:"+this+"\n当前任务栈"+this.getTaskId()); //获取MyApplication myApplication = (MyApplication) getApplication(); myApplication.add(this); } public void jumpMain(View view){ Intent intent=new Intent(this,MainActivity.class); startActivity(intent); } public void jumpB(View view){ Intent intent=new Intent(this,BActivity.class); startActivity(intent); } public void exit(View view){ myApplication.exit(); }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="这是BActivity" android:textSize="30sp" android:background="#0000ff" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="25sp" android:id="@+id/b_text" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="跳Main" android:onClick="jumpMain" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="退出系统" android:onClick="exit" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" tools:context="com.example.my_android_05_01.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是MainActivity" android:textSize="30sp" android:background="#00ff00" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/main_text" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="jumpMain" android:text="跳自己" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="跳b" android:onClick="jumpB" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="退出应用程序" android:onClick="exit" /> </LinearLayout>
public class BActivity extends AppCompatActivity { private MyApplication myApplication; private long firstTime; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b); TextView textView= (TextView) findViewById(R.id.b_text); textView.setText("当前Activity地址:"+this+"\nTaskId"+this.getTaskId()); //获取myApplication myApplication = (MyApplication) getApplication(); myApplication.add(this); } public void jumpMain(View view){ Intent intent=new Intent(this,MainActivity.class); startActivity(intent); } public void exit(View view){ myApplication.exit(); }
public class MainActivity extends AppCompatActivity { private long fristTime; private TextView textView; private MyApplication myApplication; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.main_text); textView.setText("当前Activity实例:"+this+"\n当前任务栈"+this.getTaskId()); //获取MyApplication myApplication = (MyApplication) getApplication(); myApplication.add(this); } public void jumpMain(View view){ Intent intent=new Intent(this,MainActivity.class); startActivity(intent); } public void jumpB(View view){ Intent intent=new Intent(this,BActivity.class); startActivity(intent); } public void exit(View view){ myApplication.exit(); }