第75页
intent.setAction(Intent.ACTION_VIEW); //为Intent设置动作
startActivity(intent); //将Intent传递给Activity
}
});
}
}
注意: 在上面的代码中,并没有指定将Intent对象传递给哪个Activity。
(4)编写SecondActivity类,仅为其设置布局文件,其代码如下:
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.secondactivity_layout); //设置页面布局
}
}
(5)编写AndroidManifest.xml文件,为两个Activity设置不同的Intent过滤器,其代码如下:
package="com.mingrisoft"
android:versionCode="1"
android:versionName="1.0" >
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
(6)启动程序后,单击“转到下一个Activity”按钮,显示如图6.5所示的界面。
图6.5 选择发送方式界面
(7)选择“6.3”跳转到第二个Activity,界面如图6.6所示。
图6.6 第二个Activity界面
说明: 由于有多种匹配ACTION_VIEW的方式,因此需要用户进行选择。
6.2.3 范例2:使用包含自定义动作的隐式Intent
在范例1中,讲述了使用系统中预定义的动作来定义Intent。开发人员还可以根据需要自定义动作。本范例将在范例1的基础上进行修改,使用自定义动作来启动隐式Intent。
例6.4 在Eclipse中创建Android项目,名称为6.4,在Activity中使用包含自定义动作的隐式Intent启动另外一个Activity。(实例位置:光盘\TM\sl\6\6.4)
(1)在例6.3的基础上,将FirstActivity类的代码修改为如下内容:
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.firstactivity_layout); //设置页面布局
Button button = (Button) findViewById(R.id.button); //通过id值获得按钮对象
button.setOnClickListener(new View.OnClickListener() { //为按钮增加单击事件监听器
public void onClick(View v) {
Intent intent = new Intent(); /创建Intent对象
intent.setAction("test_action"); //为Intent设置动作
startActivity(intent); //将Intent传递给Activity
}
});
}
}
(2)将AndroidManifest.xml文件代码修改为如下内容:
package="com.mingrisoft"
android:versionCode="1"
android:versionName="1.0" >
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >