显示意图打开SecondActivity:
Intent intent = new Intent(this,SecondActivity.class);
startActivity(intent);
隐式意图打开SecondActivity:
在用隐式意图的时候,我们要看看清单文件里是怎么配置的
1
2
3
4
5
6
7
8
9
10
android:host="" android:scheme="aaa" />
Intent intent = new Intent();
intent.setAction("cn.cbd.action.SECONDACTIVITY2");
intent.setData(Uri.parse("aaa://"));
//添加自定义类别 缺省类别不可缺
//intent.addCategory("android.intent.category.MYCATEGORY");
//用隐式意图来打开activity(startActivity(intent))时 :类别 当startActivity的时候会android系统会自动为intent设置一个缺省的类别 所以清单文件中一定要加上一个缺省类别
startActivity(intent);
在用隐式意图来打开activity时我们要特别要看看清单文件中是是否配置intetn-filter中的action(动作) category(类别) data(数据) 这几项我们都可以看成打开activity所需要的条件,也就是说谁要打开我这个activity(SecondAcitivity)就必须设置(一一对应),在上面的清单文件中,我们看出在intent-filter中对action,category和data进行了设置,既然在配置了,在隐式意图打开activity中就要对action,category和data设值。一一对应,缺一不可。
还有一点值得我们注意的是,在执行startActivity(intent)或者startActivityForResult(intent, 0)时,android系统会为目的activity(SecondActivity)设置一个缺省的类别"
",在我们自定义类别的时候一边在清单文件中进行配置,一边要为intent对象添加类别:
intent.addCategory("android.intent.category.MYCATEGORY");
利用隐式意图打开activity在清单文件中一定要写缺省类别"
"
下面有两个小知识点
1.用android系统自带的播放音乐控件来播放一首音乐
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///mnt/sdcard/xing.mp3"), "audio/xing");
startActivity(intent);
首先我们要在file:///mnt/sdcard路径下有一首歌,才能正常播放
效果图:
wKiom1LJHzHReHgkAAA9kic1k3U972.jpg
2.跳转到发信息界面
Intent intent = new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:10086"));
startActivity(intent);
效果图:
wKiom1LJHz6S680zAAA7rt81zdE781.jpg
阅读(1540) | 评论(0) | 转发(0) |