代碼——————————————————————
package com.example;
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.Application;
public class Mapplication extends Application {
private List<Activity> activityList = new LinkedList();
private static Mapplication instance;
private Mapplication()
{
}
//單例模式中獲取唯一的Mapplication實例
public static Mapplication getInstance()
{
if(null == instance)
{
instance = new Mapplication();
}
return instance;
}
//添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
//遍歷所有Activity並finish
public void exit()
{
for(Activity activity:activityList)
{
if(activity!=null){
activity.finish();
} }
System.exit(0); //關閉JVM
}
}
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import javax.swing.text.html.HTMLDocument;
public class MyActivity extends Activity{
private static final String TAG = "MyActivity";
private Button button;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Mapplication.getInstance().addActivity(this);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(MyActivity.this,HomeActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
Mapplication.getInstance().exit();
}
return super.onKeyDown(keyCode, event);
}
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class HomeActivity extends Activity
{
private Button button;
private TextView textView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Mapplication.getInstance().addActivity(this);
textView = (TextView)findViewById(R.id.text);
textView.setText("HomeActivity");
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(HomeActivity.this,TestActivity.class);
startActivity(intent);
}
});
}
}
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class TestActivity extends Activity
{
private Button button;
private TextView textView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Mapplication.getInstance().addActivity(this);
textView = (TextView)findViewById(R.id.text);
textView.setText("TestActivity");
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(TestActivity.this,Test2Activity.class);
startActivity(intent);
}
});
}
}
package com.example;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Test2Activity extends Activity
{
private Button button;
private TextView textView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Mapplication.getInstance().addActivity(this);
textView = (TextView)findViewById(R.id.text);
textView.setText("Test2Activity");
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent intent = new Intent(Test2Activity.this,MyActivity.class);
startActivity(intent);
}
});
}
}