public static PendingIntent getActivity (Context context, int requestCode, Intent intent, int flags)
Retrieve a PendingIntent that will start a new activity, like calling Context.startActivity(Intent)
.
Note that the activity will be started outside of the context of an existing activity, so you must use the Intent.FLAG_ACTIVITY_NEW_TASK
launch
flag in the Intent.
因爲對於Context的startActivity方法,如果不是在其子類(Activity)中調用,那麼必須對Intent加上FLAG_ACTIVITY_NEW_TASK。
Parameters
context | The Context in which this PendingIntent should start the activity. |
---|---|
requestCode | Private request code for the sender (currently not used). |
intent | Intent of the activity to be launched. |
flags | May be FLAG_ONE_SHOT , FLAG_NO_CREATE , FLAG_CANCEL_CURRENT , FLAG_UPDATE_CURRENT ,
or any of the flags as supported byIntent.fillIn() to
control which unspecified parts of the intent that can be supplied when the actual send happens.當我們使用Intent.fillIn()方法時,表示其Intent的某個數據項可以被send方法的Inent參數進行覆蓋重寫。 |
FLAG_NO_CREATE
has
been supplied.public static PendingIntent getActivities (Context context, int requestCode, Intent[] intents, int flags)
Like getActivity(Context,
int, Intent, int)
, but allows an array of Intents to be supplied. The first Intent in the array is taken as the primary key for the PendingIntent, like the single Intent given to getActivity(Context,
int, Intent, int)
. Upon sending the resulting PendingIntent, all of the Intents are started in the same way as they would be by passing them to startActivities(Intent[])
.
The first intent in the array will be started outside of the context of an existing activity, so you must use the Intent.FLAG_ACTIVITY_NEW_TASK
launch
flag in the Intent. (Activities after the first in the array are started in the context of the previous activity in the array, so FLAG_ACTIVITY_NEW_TASK is not needed nor desired for them.)
The last intent in the array represents the key for the PendingIntent. In other words, it is the significant element for matching (as done with the single intent given togetActivity(Context,
int, Intent, int)
, its content will be the subject of replacement by send(Context,
int, Intent)
andFLAG_UPDATE_CURRENT
,
etc. This is because it is the most specific of the supplied intents, and the UI the user actually sees when the intents are started.
Parameters
context | The Context in which this PendingIntent should start the activity. |
---|---|
requestCode | Private request code for the sender (currently not used). |
intents | Array of Intents of the activities to be launched. |
flags | May be FLAG_ONE_SHOT , FLAG_NO_CREATE , FLAG_CANCEL_CURRENT , FLAG_UPDATE_CURRENT ,
or any of the flags as supported byIntent.fillIn() to
control which unspecified parts of the intent that can be supplied when the actual send happens.當我們使用Inent.fillIn()所支持的flags時,表示其Intent的數據項可以被send方法的Intent參數覆蓋重寫。 |
Returns
- Returns an existing or new PendingIntent matching the given parameters. May return null only if
FLAG_NO_CREATE
has been supplied.
public static PendingIntent getService (Context context, int requestCode, Intent intent, int flags)
Retrieve a PendingIntent that will start a service, like calling Context.startService()
.
The start arguments given to the service will come from the extras of the Intent.
Parameters
context | The Context in which this PendingIntent should start the service. |
---|---|
requestCode | Private request code for the sender (currently not used). |
intent | An Intent describing the service to be started. |
flags | May be FLAG_ONE_SHOT , FLAG_NO_CREATE , FLAG_CANCEL_CURRENT , FLAG_UPDATE_CURRENT ,
or any of the flags as supported byIntent.fillIn() to
control which unspecified parts of the intent that can be supplied when the actual send happens.當我們使用Intent.fillIn()方法的flags時,它表示其Intent的數據項可以被send方法的Intent參數覆蓋重寫。 |
Returns
- Returns an existing or new PendingIntent matching the given parameters. May return null only if
FLAG_NO_CREATE
has been supplied.
public static PendingIntent getBroadcast (Context context, int requestCode, Intent intent, int flags)
Retrieve a PendingIntent that will perform a broadcast, like calling Context.sendBroadcast()
.
Parameters
context | The Context in which this PendingIntent should perform the broadcast. |
---|---|
requestCode | Private request code for the sender (currently not used). |
intent | The Intent to be broadcast. |
flags | May be FLAG_ONE_SHOT , FLAG_NO_CREATE , FLAG_CANCEL_CURRENT , FLAG_UPDATE_CURRENT ,
or any of the flags as supported byIntent.fillIn() to
control which unspecified parts of the intent that can be supplied when the actual send happens.當我們使用Intent.fillIn()方法的flags時,它表示其Intent的數據項可以被send方法的Intent參數覆蓋重寫。 |
Returns
- Returns an existing or new PendingIntent matching the given parameters. May return null only if
FLAG_NO_CREATE
has been supplied.
public void send ()
Perform the operation associated with this PendingIntent.
Throws
PendingIntent.CanceledException | Throws CanceledException if the PendingIntent is no longer allowing more intents to be sent through it. |
---|
public void send (Context context, int code, Intent intent)
Perform the operation associated with this PendingIntent, allowing the caller to specify information about the Intent to use.
Parameters
context | The Context of the caller. 該參數是因爲intent參數才需要提供的,所用如果你的intent參數不爲null的話,該參數也不能爲null. |
---|---|
code | Result code to supply back to the PendingIntent's target. |
intent | Additional Intent data. See Intent.fillIn() for
information on how this is applied to the original Intent. |
Throws
PendingIntent.CanceledException | Throws CanceledException if the PendingIntent is no longer allowing more intents to be sent through it. |
---|
public void send (int code, PendingIntent.OnFinished onFinished, Handler handler)
Perform the operation associated with this PendingIntent, allowing the caller to be notified when the send has completed.
Parameters
code | Result code to supply back to the PendingIntent's target. |
---|---|
onFinished | The object to call back on when the send has completed, or null for no callback. 通過該參數,我們可以設置在Intent發送成功後的回調函數。 |
handler | Handler identifying the thread on which the callback should happen. If null, the callback will happen from the thread pool of the process. 用於說明onFinished參數指定的回調函數,最終在哪個Handler中進行調用。 |
Throws
PendingIntent.CanceledException | Throws CanceledException if the PendingIntent is no longer allowing more intents to be sent through it. |
---|
public void send (Context context, int code, Intent intent, PendingIntent.OnFinished onFinished, Handler handler)
Perform the operation associated with this PendingIntent, allowing the caller to specify information about the Intent to use and be notified when the send has completed.
For the intent parameter, a PendingIntent often has restrictions on which fields can be supplied here, based on how the PendingIntent was retrieved ingetActivity(Context,
int, Intent, int)
, getBroadcast(Context,
int, Intent, int)
, or getService(Context,
int, Intent, int)
.
Parameters
context | The Context of the caller. This may be null if intent is also null. 該參數是因爲intent參數才需要提供的,一般是當前的context,如果你的intent參數不爲null的話,該函數也不能爲null. |
---|---|
code | Result code to supply back to the PendingIntent's target. |
intent | Additional Intent data. See Intent.fillIn() for
information on how this is applied to the original Intent. Use null to not modify the original Intent. |
onFinished | The object to call back on when the send has completed, or null for no callback. 通過該參數,我們可以指定Intent發送成功後的回調函數。 |
handler | Handler identifying the thread on which the callback should happen. If null, the callback will happen from the thread pool of the process. 該參數說明onFinished參數指定的回調函數將在哪個Handler中進行調用。 |
Throws
PendingIntent.CanceledException | Throws CanceledException if the PendingIntent is no longer allowing more intents to be sent through it. |
---|
public void cancel ()
Cancel a currently active PendingIntent. Only the original application owning an PendingIntent can cancel it.
只有PengdingIntent的原應用程序才能調用cancel()來把它從系統中移除掉。
public String getTargetPackage ()
Return the package name of the application that created this PendingIntent, that is the identity under which you will actually be sending the Intent. The returned string is supplied by the system, so that an application can not spoof its package.