PendingIntent是壹個處理將要發生的事情的類。例如,在通知通知中,它用於跳轉頁面,但不是立即跳轉。
意向在時間上開始,意向隨著其活動的消失而消失。
PendingIntent可以被視為意圖的包裝器。通常通過getactivity、getbroadcast和getservice獲得pendingintent的實例。當前活動不能立即啟動它包含的意圖,而是在外部執行時調用該意圖。正因為當前App的上下文存儲在pending content中,所以賦予了外部App壹種能力,使得外部App可以像當前App壹樣執行pending content中的意圖,即使當前App在執行時已經不存在,仍然可以通過pending content中的上下文執行意圖。此外,還可以處理意圖執行後的操作。通常與alermanger和notificationmanager壹起使用。
Intent壹般用來在Activity、Sercvice和BroadcastReceiver之間傳遞數據,而PendingIntent壹般用在Notification中,可以理解為延遲的Intent,PendingIntent是intent的壹個包。
PendingIntent是對意圖的描述。我們可以把這個描述給其他程序,其他程序會根據這個描述在未來的另壹個時間做妳安排做的事情(通過給另壹個應用壹個掛起的意圖,妳就被授予它執行妳指定的操作的權利,就好像那個應用是妳自己壹樣,相當於pending intent。在這個例子中,其他程序是發送短消息的程序。短消息發送成功後,意圖應該被廣播。
SMS管理器功能中的參數說明。發送文本消息(字符串目的地地址、字符串sc地址、字符串文本、待定意向發送意向、待定意向交付意向):
1)Pending Intent sendIntent:發送短消息時,如果成功,send Intent會廣播其內部描述意圖;否則,將生成壹個錯誤代碼,並通過android.app.Pending Intent進行回調。完成時。這個參數最好不要為空,否則會有資源浪費的潛在問題;
2)pending content delivery intent:它是在消息已經被傳遞給接收者之後的壹個未決的意圖廣播。
看PendingIntent類,可以看到很多Send函數,就是PendingIntent在做已經給定的相關操作。