編輯:關於android開發
隱式Intent表示不具體明確要打開的activity,利用隱式intent我們可以打開其他應用。
一個隱式intent的主要組成部分:
1.action 要執行的操作。
通常以intent類的常量表示。如:
訪問查看某個URL Intent.ACTION_VIEW
發送郵件 Intent.ACTION_SEND
2.data 要訪問的數據位置。
設備以外的數據,如某個網頁URL
指向某個文件的URI
指向ContentProvider中某條記錄的某個content URI
3.type 操作涉及的數據類型
如text/html或audio/mpeg3.
如果一個intent包含某類數據的位置,那麼通常可以從中推測出數據的類型。
4.category 可選類別
類別用於描述如何使用某個activity
android.intent.category.LAUNCHER:activity應該顯示在頂級應用啟動器中。
android.intent.category.INFO:雖然activity向用戶顯示了包信息,但它不應該顯示在啟動器中。
android.intent.category.DEFAULT:DEFAULT類別必須明確的在intent過濾器中設置。如果說action告訴操作系統,activity能干啥;
那麼DEFAULT類別告訴操作系統activity願意干啥。DEFAULT 類別實際隱含添加到了幾乎每一個隱式intent中。(唯一的例外是LAUNCHER類別)
如同顯式intent,隱式intent也可以包含extra信息。不過,操作系統在尋找合適的activity時,不會使用任何附加在隱式intent上的extra。
注意,隱式intent的action和data也可以與顯式intent聯合使用。這相當於要求特定的activity去處理特定任務。
由上舉例,如果想要一個用來查看某個網址的簡單隱式intent,需要
Action:Intent.ACTION_VIEW
URL:某個具體URL網址的uri數據
<intent-filter> <action android:name="android.intent.action.VIEW"/> <data android:scheme="http" android:host="www.baidu.com"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter>
此外補充一點,由於隱式intent並不會明確告知要打開哪些activity,有可能設備上就不會有合適的應用。這時候應用就會崩潰。為此我們在使用隱式intent之前,應該先進行安全檢查,判斷是否有合適的activity。
Intent i=new Intent(); .... PackageManager pm=getActivity().getPackageManager(); List<ResolveInfo> activities=pm.queryIntentActivities(i,0); if(activities.size()>0){ //safe }else{ //no suitable activity for this intent }
android:listview實現qq,微信好友列表(頭像,昵稱,個性簽名) 首先附上運行結果: 如果你沒有學過listview請你先看一看基本知識。不想再說的那
Android SearchView 自定義SearchIcon和字體顏色大小,searchviewicon自定義SearchView的搜索圖標和字體屬性相對復雜一些,記
56.EasyLikeArea EasyLikeArea Easy like area in the circle of friends or QQ qzone
android開發-界面設計基本知識,android界面設計一個好的APP不僅有美觀,好看的界面,更需要良好的性能和穩定性。作為一名開發人員,需要理解界面設計原則並寫出優