隱式Intent總結

A活動跳轉到B活動,需要在清單文件中註冊活動的標籤內過濾一下,清單文件代碼如下:

<activity android:name=".Main2Activity">
            <intent-filter>
                	<action android:name="com.example.myexercis.ACTION_START" />
                	<!--必須加上<category>標籤才能跳轉-->,此標籤爲DEFAULT默認值
                	<category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
</activity>

action的代碼隨意些,但必須要和要跳轉活動的頁面的Intent的裏值保持一致

			   Intent in=new Intent("com.example.myexercis.ACTION_START");
                startActivity(in);

隱式跳轉到一個網頁,這裏並不是加載了一個網頁,而是調動了其它程序的網頁界面,下面的setData是接受了其它程序傳遞過來的Uri對象,主要用於當前Intent正在操作的數據,而這些數據通常都是以字符串的形式傳入到Uri.parse()方法中解析產生的。

代碼如下:

			   Intent intent=new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("http://www.baidu.com"));
                startActivity(intent);

清單文件中可以配置data標籤,用於更精確的制定當前活動能夠響應到什麼類型的數據,有5中寫法,如下:
android:scheme用於指定數據協議部分。
android:host用於指定數據局主機名部分。
android:port用於指定數據的端口號部分,一般緊隨在主機名之後。
android:path用於指定主機名和端口號之後的部分,如一段網址跟在域名之後的內容。
android:mimeType用於指定可以處理的數據類型,允許使用通配符的方式進行指定。
例子:在清單文件中寫了這行代碼,那麼這個跳轉僅僅支持http協議的跳轉。我在清單文件下寫這行代碼會報紅線但該實現的功能都是有的。

<data android:scheme="http"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章