Chinaunix首页 | 论坛 | 博客
  • 博客访问: 79979
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 247
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-02 18:05
文章分类
文章存档

2014年(13)

分类: 网络与安全

2014-01-06 11:48:57

显示意图打开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) |
给主人留下些什么吧!~~