查看联系人的两种设置方式:
- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_GET_CONTENT);
- //用来列出列表中的所有人的电话号码
- intent.setType("vnd.android.cursor.item/phone");
- startActivityForResult(intent, PICK_CONTACT);
- Intent intent = new Intent();
- //String data = "http://www.baidu.com";
- String data = "content://contacts/people/";
- Uri uri = Uri.parse(data);
- intent.setAction(Intent.ACTION_VIEW);
- intent.setData(uri);
- startActivity(intent);
Intent的属性设置:
①代码中,action只有一个起作用,category多个起作用。
- Intent intent = new Intent();
- intent.setAction("com.xc.demo");
- intent.addCategory("hi");
- intent.addCategory("hello");
- intent.setAction("com.xc.demo.action");
- startActivity(intent);
跳转时,action为com.xc.demo.action,category为[hi,hello]
对应的xml设置为:
- <intent-filter>
- <action android:name="com.xc.demo" /> //两个action可以设置一个,也可以随意设置N个
- <action android:name="com.xc.demo.action" />
- <category android:name="hi"/> //category必须设置两个,对应代码来
- <category android:name="hello"/>
- <category android:name="android.intent.category.DEFAULT"/>
- </intent-filter>
②当Intent不指定data属性时,type属性才会起作用,否则android系统会根据data属性值来分析数据的类型,无须指定type。
③同时指定action,data,属性那么android可以根据指定的数据类型来启动特定的应用程序。(代码如上)
④在AndroidMinifest.xml中的<activity/>中设置<intent-fliter/>时,虽然category会默认设置,但必须显性写出。<category android:name="android.intent.category.DEFAULT"/>