意图的分类
Intent被分为两大类
1.显式意图----在意图对象中明确指定出被打开的这个组件。
1.使用意图对象的setClass方法设置显式意图
2.通过Intent对象的构造方法设置显式意图
package com.click369.intentdemo3;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openActivity(View view){
switch(view.getId()){
case R.id.button1:
//使用setClass方法设置显式意图
Intent intent1=new Intent();
intent1.setClass(this, OtherActivity.class);
startActivity(intent1);
break;
case R.id.button2:
//使用Intent的构造方法设置显式意图
Intent intent2=new Intent(this,OtherActivity.class);
startActivity(intent2);
break;
}
}
}
2.隐式意图----没有明确指定需要激活的组件是谁的,通过设置意图过滤器对象来激活组件的,这样的意图。
1.在创建完成一个组件【Activity】之后,在项目清单文件中设置意图过滤器
意图过滤器包括3项内容的设置
1.动作设置
<activity android:name="com.click369.intentdemo4.OneActivity">
<intent-filter>
<action android:name="baidu.com.java"></action>
<action android:name="com.click.test"></action>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
2.类别设置
<activity android:name="com.click369.intentdemo4.TowActivity">
<intent-filter>
<action android:name="baidu.com.java"></action>
<category android:name="my.click.test"></category>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
3.数据设置
Intent it = new Intent();
it.setAction("android.intent.action.VIEW");
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
2.其他的Activity如果需要激活新建的组件【Activity】需要再Intent对象上,设置上面再项目清单文件中设置3项内容。
Intent被分为两大类
1.显式意图----在意图对象中明确指定出被打开的这个组件。
1.使用意图对象的setClass方法设置显式意图
2.通过Intent对象的构造方法设置显式意图
package com.click369.intentdemo3;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void openActivity(View view){
switch(view.getId()){
case R.id.button1:
//使用setClass方法设置显式意图
Intent intent1=new Intent();
intent1.setClass(this, OtherActivity.class);
startActivity(intent1);
break;
case R.id.button2:
//使用Intent的构造方法设置显式意图
Intent intent2=new Intent(this,OtherActivity.class);
startActivity(intent2);
break;
}
}
}
2.隐式意图----没有明确指定需要激活的组件是谁的,通过设置意图过滤器对象来激活组件的,这样的意图。
1.在创建完成一个组件【Activity】之后,在项目清单文件中设置意图过滤器
意图过滤器包括3项内容的设置
1.动作设置
<activity android:name="com.click369.intentdemo4.OneActivity">
<intent-filter>
<action android:name="baidu.com.java"></action>
<action android:name="com.click.test"></action>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
2.类别设置
<activity android:name="com.click369.intentdemo4.TowActivity">
<intent-filter>
<action android:name="baidu.com.java"></action>
<category android:name="my.click.test"></category>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
3.数据设置
Intent it = new Intent();
it.setAction("android.intent.action.VIEW");
it.putExtra("sms_body", "The SMS text");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
2.其他的Activity如果需要激活新建的组件【Activity】需要再Intent对象上,设置上面再项目清单文件中设置3项内容。