android学习之Intent隐式意图
2013-10-19 21:55
429 查看
隐式意图采用action动作,category类别和数据uri来匹配,示例代码如下:
activity1采用隐式意图转向activity2
首先要在activity2的manifest配置文件中对他的intent-filter进行配置,如果activity1的intent符合他的过滤条件则跳转
配置文件如下
<activity android:name="com.Activity2" android:label="@string/window_title">
<intent-filter>
<!-类别的名称可以随便起,最好有意义,我看其他的都是用的包名 android.intent.category.DEFAULT是方法内部加的,必须注册上,type和
data都有的话,activity1要采用setDataAndType来设置data和type,setType会把前面的设置清理掉->
<action android:name="com.other"/>
<category android:name="com.it"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="zhenhua" android:host="www.zhenhua.com"/>
<data android:mimeType="image/*"></data>
</intent-filter>
</activity>
actiity1的代码如下:
public class Activity1 extends Activity {
Button btDirect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btDirect = (Button) findViewById(R.id.btDirect);
}
public void openActivity(View view){
/**
* 只要Intent中的Action和Category都出现在Intent-Filter中就能匹配到
*/
Intent intent = new Intent();//隐式意图激活Activity
intent.setAction("com.zhenhua.other");
intent.addCategory("com.zhenhua.it");//方法内部为Intent添加了android.intent.category.DEFAULT类别
//intent.setData(Uri.parse("zhenhua://www.zhenhua.com"));
//intent.setType("image/jpg");
intent.setDataAndType(Uri.parse("zhenhua://www.zhenhua.com"),"image/jpg");
startActivity(intent);
}
}
Activtiy2的代码如下:
public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other_activity);
}
}
下面附几个常用的调用:
1、调用拨号:
// 调用系统自带拨号器设置拨号意图对象
Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
intent.setData(Uri.parse("tel:" + phone));
// 激活意图,方法内部会自动为Intent添加类别android.intent.category.DEFAULT
startActivity(intent);
2、调用发短信
Uri uri = Uri.parse("smsto:10010");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "102");
activity.startActivity(it);
activity1采用隐式意图转向activity2
首先要在activity2的manifest配置文件中对他的intent-filter进行配置,如果activity1的intent符合他的过滤条件则跳转
配置文件如下
<activity android:name="com.Activity2" android:label="@string/window_title">
<intent-filter>
<!-类别的名称可以随便起,最好有意义,我看其他的都是用的包名 android.intent.category.DEFAULT是方法内部加的,必须注册上,type和
data都有的话,activity1要采用setDataAndType来设置data和type,setType会把前面的设置清理掉->
<action android:name="com.other"/>
<category android:name="com.it"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="zhenhua" android:host="www.zhenhua.com"/>
<data android:mimeType="image/*"></data>
</intent-filter>
</activity>
actiity1的代码如下:
public class Activity1 extends Activity {
Button btDirect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btDirect = (Button) findViewById(R.id.btDirect);
}
public void openActivity(View view){
/**
* 只要Intent中的Action和Category都出现在Intent-Filter中就能匹配到
*/
Intent intent = new Intent();//隐式意图激活Activity
intent.setAction("com.zhenhua.other");
intent.addCategory("com.zhenhua.it");//方法内部为Intent添加了android.intent.category.DEFAULT类别
//intent.setData(Uri.parse("zhenhua://www.zhenhua.com"));
//intent.setType("image/jpg");
intent.setDataAndType(Uri.parse("zhenhua://www.zhenhua.com"),"image/jpg");
startActivity(intent);
}
}
Activtiy2的代码如下:
public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other_activity);
}
}
下面附几个常用的调用:
1、调用拨号:
// 调用系统自带拨号器设置拨号意图对象
Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
intent.setData(Uri.parse("tel:" + phone));
// 激活意图,方法内部会自动为Intent添加类别android.intent.category.DEFAULT
startActivity(intent);
2、调用发短信
Uri uri = Uri.parse("smsto:10010");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "102");
activity.startActivity(it);
相关文章推荐
- Android学习之Intent中显示意图和隐式意图的用法实例分析
- Android学习记录--Intent中显示意图和隐式意图的用法
- Android Intent学习之 隐式意图& 显示意图& intent 跳转问题
- Android学习记录(7)—Intent中显示意图和隐式意图的用法
- Android学习记录(7)—Intent中显示意图和隐式意图的用法
- android基础学习5————隐式意图intent开启系统照相机
- android用Intent隐式意图调起(百度,谷歌,高德地图)
- Android开发学习笔记:浅谈显示Intent和隐式Intent
- 【转】Android深入探究笔记之三 -- Intent (隐式意图和显示意图)
- Android中隐式意图(Intent)用法
- android Intent (隐式意图和显示意图)
- Android学习--隐式Intent
- android学习记录(五)显式Intent与隐式Intent的功能与使用方法解析。
- android intent 隐式意图和显示意图(activity跳转)
- android intent 隐式意图和显示意图(activity跳转)
- Android显式意图、隐式意图、意图过滤器(intent-filter)、意图间传值
- 关于Android intent的知识 隐式意图和显示意图
- android(28)(intent隐式意图)
- Android中intent的隐式意图
- Android学习之 Intent显示和Intent隐式