activity的啟動分為:顯示啟動和隱式啟動
顯示啟動:明確的指定一個activity進行啟動 隱式啟動:只有合適的activity才可以啟動
什么是合適? 當標簽內的內容與Intent的設置相同時
intent.setAction("htl");intent.addCategory("")intent.setData(Uri.parse("https://www.baidu.com"));有三種內容
actioncategory:name=”android.intent.category.DEFAULT”時, intent不需要添加date 代碼片段:manifest <intent-filter> <action android:name="htl"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="cc"/> <data android:mimeType="text/fds"/> </intent-filter>標簽可以配置一下內容: 1. android:scheme 用于指定數據的協議部分。如:https 2. android:host 用于指定數據的主機名部分。如:www.baidu.com 3. android:port 用于指定數據的端口部分,一般緊隨在主機名之后。 4. android:path 用于指定主機名和端口之后的部分,如一段網址中跟在域名之后的內容。 5. android:mimeType 用于指定可以處理的數據類型,允許使用通配符的方式進行指定。
一般只需要指定scheme的內容就可以了。 當還需要添加mineType(傳遞的數據類型)內容時,如果
intent.setData(Uri.parse("cc:10086"));intent.setType("text/fds");啟動失敗,無論setDate()還是setType()在前,后面的都會清理掉前面的設置,所以,正確的啟動方式是
intent.setDataAndType(Uri.parse("cc:10086"),"text/fds");當等待啟動的activity有多個action,多個data時,只需要同時滿足一條action和data就可以正常啟動
新聞熱點
疑難解答