深入学习android之Intent

   对于Intent之前虽然用的比较多,但仅限于setClass或setClassName等,没有深入研究过。所以有必要深入学习下。

   使用Intent的时候有两种情况:

   一种是直接Intent:指定了component或者于setClass或setClassName。这种Intent,android不需要解析,直接找到目标并激活。

   另一种是间接Intent:没有指定component。这些Intent就需要包含很多信息。Intent解析的机制就是通过查找注册在Manifest。xml中的Intentfilter以及其中定义的Intent。是通过Intent的action、type和category这3属性来判断。

   具体的用到再看就行,以下是几个例子:

 

  //拨号 (注意配置文件中权限) Intent intent = new Intent(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:123456789")); startActivity(intent); //低电量提示广播 Intent intent = new Intent(Intent.ACTION_BATTERY_LOW); sendBroadcast(intent); //选择音频 Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("audio/*"); startActivity(Intent.createChooser(intent, "Select music"));

 

   注:new Intent(String action),参数指定了antion。

 

   这几个都是直接调用系统的对象,若是调用自己的目标,就需要用到intent-filter。这个的原理就简单了,根据Intent里的信息过滤而已。用到的时候看下就OK。

 

 

 

 

 

 

你可能感兴趣的:(android,xml,String,action)