查看聯繫人的兩種設置方式:
- 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"/>