



一.实验要求。
app1的activity1有两个按钮,一个按钮跳转到Activity2,
另外一个按钮跳转到打电话的页面,打电话这个功能不属于app1,我们假设它为app2。
首先默认进入app1的activity1,点击button1后跳转到activity2,
再点击activity2的按钮后跳转到activity1,再点击button2跳转到打电话页面,
最后依次点返回按钮,大家看Task栈效果。
二.训练目标。
理解Task的含义。
三.代码
[java] view plain copy
package com.test3.task;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
}
public void toSecond(View view){
Intent intent = new Intent (this,SecondActivity.class);
startActivity(intent);
}
public void toCall(View view){
Intent intentPhone = new Intent(Intent.ACTION_DIAL);
intentPhone.setData(Uri.parse("tel:10086"));
startActivity(intentPhone);
}
public void toDial(View view){
Intent intentDail= new Intent(Intent.ACTION_DIAL);
intentDail.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentDail);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.first, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
SecondActivity:
[java] view plain copy
package com.test3.task;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
}
public void toFirst(View view){
Intent intent = new Intent (this,FirstActivity.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
activity_first.xml:
[html] view plain copy
<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="com.test3.task.FirstActivity" >
<Button
android:id="@+id/btntoSecond"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="118dp"
android:onClick="toSecond"
android:text="@string/to_Second" />
<Button
android:id="@+id/btntoCall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="toCall"
android:text="@string/to_call" />
<Button
android:id="@+id/btntoDial"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/btntoCall"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp"
android:onClick="toDial"
android:text="@string/to_dial" />
</RelativeLayout>
activity_second.xml:
[html] view plain copy
<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="com.test3.task.SecondActivity" >
<Button
android:id="@+id/btntoFirst"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick="toFirst"
android:text="@string/to_First" />
</RelativeLayout>
四.运行图