91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Intent解析

發布時間:2020-05-31 15:35:51 來源:網絡 閱讀:252 作者:lzwxx 欄目:移動開發

一.綜述

intent對象是一個信息桶。它包含了接收它的組件感興趣的信息(如:攜帶的動作和數據),附加Android系統感興趣的信息(如:處理intent和啟動目標Activity指令的組件的類別)

程序的3個核心組件——Activity、services、廣播接收器——是通過intent傳遞消息的。intent消息對于運行時綁定不同的組件是很方便的,這些組件可以是同一個程序也可以是不同的。一個intent對象,是一個被動的數據結構,它保存了一個操作的抽象描述——或通常是一個廣播的實例,一些發生的事情的描述,一個通知。傳遞intent到不同組件的機制是互不相同的。

  • intent對象是傳遞給Context.startActivity() 或Activity.startActivityForResult() 以啟動Activity或是讓一個存在的Activity做些事情。(也可以傳遞給Activity.setResult()來返回Activity的信息,這個函數叫startActivityForResult()。)

  • intent對象傳遞給函數來初始化一個service或是分發一個新的指令給一個正在進行的service。同樣,intent傳遞給來建立一個在調用組件和目標service間的聯系。如果一個service沒有運行,它可以開始它。

  • intent可以傳遞給任何廣播函數(如:Context.sendBroadcast()、Context.sendOrderedBroadcast()、 Context.sendStickyBroadcast()),intent被分派給所有感興趣的廣播接收者。很多廣播源在系統內核里。

Android系統會尋找合適的Activity、service或設置廣播接收器來響應intent,在需要的時候實例化它們。在消息系統里沒有交疊:廣播intent僅僅分派給廣播接收器,不會分派給Activity或service。一個intent分派給startActivity()僅僅分派給Activity,不會分派給service或廣播接收器,等等。

二.Intent關聯的東西

Intent解析

 

@1四大組件Activity,Brocast,Service,Receiver,intent可以在四大組件中傳遞消息和數據。

@2動作Action,通過 setAction()函數設置,通過getAction()函數讀取

@3數據Data,數據的URI和MIME類型的數據,setData() 函數指定數據作為一個URI, setType()指定它為一個MIME類型,setDataAndType()指定它是URI也是MIME類型。 getData()函數讀取URI, getType()讀取類型

@4類型addCategory() 放置一個intent里的類別,removeCategory()刪除之前添加的,getCategories()獲取當前所有的類別。

@5擴展,intent有一系列的put...() 函數來插入各種類型的數據和一系列get...()函數來獲取各種類型的數據。對Bundle 對象,這些函數是并行的。事實上,可以使用函數putExtras()和函數getExtras()來把數據作為Bundle讀取、插入

@6標志,各種排序的標志。指示Android如何啟動Activity(例如:Activity屬于那個任務)啟動后如何處理(例如:是否屬于現在Activity 的列表)。這些標志在intent類里定義。

和平臺相關的Android系統和程序使用intent來發送系統的廣播、激活系統定義的組件。和intent激活系統組件相關的內容,在list of intents 

三.Intent的分類

1.顯示意圖Intent

 Intent解析

 

Intent解析

    /**
     * 顯示意圖開啟activity
     *
     * @param view     */
    public void see(View view) {

        Intent intent  = new Intent(this,MyActivity.class);
        startActivity(intent);
    }

Intent解析

 

 

 

2.隱式意圖Intent

Intent解析

實例程序:

@1開啟本應用的Activity

Intent解析

    
     =  Intent("com.market.textintent.MY""huihui:"+123456),"pp/my"

Intent解析

Intent解析

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.market.testintent">

    <uses-permission android:name="android.permission.SEND_SMS" />

    <application        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name="market.testintent.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="market.testintent.MyActivity">
            <intent-filter>
                <action android:name="com.market.textintent.MY"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="huihui"/>
                <data android:mimeType="pp/my"/>
            </intent-filter>
        </activity>
    </application></manifest>

Intent解析

Intent解析

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:gravity="center_horizontal"
    android:padding="20dp"
    android:layout_height="match_parent">

    <TextView        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="測試Intent" />

    <Button        android:onClick="send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="發短信" />

    <Button        android:onClick="start"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="startMyActivity" />

    <Button        android:onClick="see"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="顯示意圖" /></LinearLayout>

Intent解析

Intent解析

@2開啟系統應用Activity

Intent解析

    /**
     * y隱式意圖發短信
     *
     * @param view     */
    public void send(View view) {
        Intent intent  = new Intent();
        intent.setAction(Intent.ACTION_VIEW );
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setType("vnd.android-dir/mms-sms");
        intent.putExtra("sms_body","美女,你吃飯了沒?");
        startActivity(intent);
    }

Intent解析

短信應用清單文件activity配置

Intent解析

Intent解析


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汽车| 英超| 麻城市| 搜索| 永丰县| 元朗区| 海晏县| 牟定县| 隆回县| 湖北省| 方城县| 威信县| 海晏县| 枣强县| 兴仁县| 蓬莱市| 宿松县| 洱源县| 松潘县| 合阳县| 红原县| 吴忠市| 新沂市| 象州县| 铜陵市| 雅安市| 宽甸| 洮南市| 交口县| 江源县| 涿鹿县| 义乌市| 建湖县| 十堰市| 巴东县| 平凉市| 武宣县| 静海县| 大理市| 巴塘县| 新乡县|