Intent概述
Component属性
说明:利用component属性启动另外一个activity
显示Intent
//显示Intent,从一个activity跳转到另一个activity
Intent intent = new Intent(context, FloatWindowsService.class);
隐式Intent
显示intent和隐式Intent的区别
隐式Intent示例代码
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("点击了");
Intent intent = new Intent();
intent.setAction(intent.ACTION_VIEW);// 用来显示
try {
intent.setData(Uri.parse("http://www.baidu.com")); //打开一个网页,http://一定要写,不然报错
startActivity(intent); //启动一个新页面
} catch (Exception e) {
e.printStackTrace();
}
Intent过滤器
设置过滤器
常用组合方式
action:所要响应的事件
category:以什么方式响应
data:响应的数据
示例代码
设置过滤器,Manifest.xml
<activity android:name=".MainActivity">
<intent-filter>
<!--把当前Activity作为应用程序的入口,默认配置的-->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ShowActivity">
<intent-filter>
<!--把当前Activity用来显示数据-->
<action android:name="android.intent.action.VIEW" />
<!--执行数据的默认动作-->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
MainActivity.java
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("点击了");
Intent intent = new Intent();
intent.setAction(intent.ACTION_VIEW);//将数据显示给用户
startActivity(intent);
}
});