资源目录结构
FirstActivity.java.
package com.example.myactivitytest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.TextView;
public class FirstActivity extends Activity {
public static final String TAG = FirstActivity.class.getSimpleName();
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
init();
}
private void init() {
tv = (TextView) findViewById(R.id.tv);
tv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//隐式的启动方式 写在注册表清单文件中 使用这种方式必须action 和category均符合
//一致 默认不写的话为 android.intent.category.DEFAULT 但是在清单文件中必须填写
//启动的addCategory中可以不用添加。
//使用startActivityForResult(intent, 1);启动时Category只能选择默认的,否则报错
Intent intent = new Intent("com.wxh.secondactivity.START");
// intent.addCategory("com.wxh.Second.Category");
// startActivity(intent);
// Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
//requestCode请求码必须大于1才有效
startActivityForResult(intent, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
Log.e(TAG, data.getStringExtra("data_return"));
}
break;
default:
break;
}
}
}
SecondActivity.java
package com.example.myactivitytest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SecondActivity extends Activity{
private Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
init();
}
private void init(){
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ActivityCollector.finishAll();
}
});
}
/**
* back to the first activity use this format
*/
@Override
public void onBackPressed() {
Intent i = new Intent();
i.putExtra("data_return", "Hello FirstActivity");
setResult(RESULT_OK, i);
finish();
}
}
</pre><pre class="java" name="code">ActivityCollector.java
</pre><pre class="java" name="code"><pre class="java" name="code">package com.example.myactivitytest;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
public class ActivityCollector {
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(Activity activity){
activities.add(activity);
}
public static void removeActivity(Activity activity){
activities.remove(activity);
}
public static void finishAll(){
for(Activity activity : activities){
if(!activity.isFinishing()){
activity.finish();
}
}
}
}
</pre><pre class="java" name="code">资源代码下载链接
http://download.csdn.net/detail/u012911862/8683121 点击打开链接