构造函数 public BroadcastReceiver () 公共方法public final void abortBroadcast ()
public final void clearAbortBroadcast ()
public final boolean getAbortBroadcast ()
public final boolean getDebugUnregister ()
public final int getResultCode ()
public final String getResultData ()
public final Bundle getResultExtras (boolean makeMap)
public final BroadcastReceiver.PendingResult goAsync ()
public final boolean isInitialStickyBroadcast ()
|
public final boolean isOrderedBroadcast ()
返回true:如果接收方目前处理一个有序广播
public abstract void onReceive (Context context, Intent intent)
调用此方法接受一个意图广播。在此期间你可以用其他方法查看/修改当前的结果值。调用这个方法总是在主线程的过程,除非你明确要求它将在一个不同的线程使用registerReceiver(BroadcastReceiver IntentFilter,String,handler)。当它运行在主线程你永远不应该执行长时间运行的操作。
如果这个BroadcastReceiver推出<receiver>标记,那么对象不再是活着从这个函数返回后。这意味着你不应该执行任何操作,返回结果给你异步——特别是与服务进行交互,您应该使用由startService(Intent)而不是bindService(ServiceConnection,Intent,int)。如果你希望与正在运行的服务交互,可以使用peekService(Context,Intent)。
意图过滤器用于registerReceiver(BroadcastReceiver IntentFilter)和应用程序清单并不保证排斥。他们提示操作系统如何找到合适的人。发送方有可能迫使交付特定收件人,绕过过滤器决议。出于这个原因,onReceive()实现只要回应行动,无视任何意想不到的意图,他们可能会收到。
参数:
context:接收器正在运行的上下文
intent:收到的意图
public IBinder peekService (Context myContext, Intent service)
提供了绑定到一个正在运行的服务。这种方法是同步的,也不会启动目标服务,如果它不存在,所以它是安全的电话onReceive(Context, Intent).
参数:
myContext:传递给 onReceive(Context, Intent)的上下文
service:意图表明你希望使用的服务。有关更多信息,请参见startService(Intent)
public final void setDebugUnregister (boolean debug)
控制夹杂物的调试帮助不匹配调用Context.registerReceiver()。如果使用真的,之前给registerReceiver(),然后callstack下列Context.unregisterReceiver()调用保留,印刷如果以后正确注销调用。请注意,这样做需要保留的信息BroadcastReceiver对于应用程序的生命周期,导致泄漏,这应该只用于调试。
public final void setOrderedHint (boolean isOrdered)
供内部使用,设置这个BroadcastReceiver提示是否在命令模式下运行。
public final void setResult (int code, String data, Bundle extras)
改变所有的返回结果数据从这个广播,仅适用于通过Context.sendOrderedBroadcast广播发送。当前所有结果数据值给该方法所取代。
这种方法不使用non-ordered广播与Context.sendBroadcast比如发送
参数:
code:新的结果代码。经常使用活动RESULT_CANCELED和RESULT_OK常量,虽然这个值是最终的实际意义的。
data:新的结果数据。这是一个任意字符串,其解释是电视台的,可能是null。
extras:新的额外的数据地图。这是一个包持有任意数据的解释是播音员。可以设置为null。这完全替换当前地图(如果有的话)。
public final void setResultCode (int code)
改变当前的结果代码的广播,仅适用于通过Context.sendOrderedBroadcast广播发送。经常使用ActivityRESULT_CANCELED和RESULT_OK常量,虽然这个值是最终的实际意义的。
这种方法不使用non-ordered广播与Context.sendBroadcast比如发送
参数:code:新的结果码。
public final void setResultData (String data)
改变当前的结果数据的广播,仅适用于通过Context.sendOrderedBroadcast广播发送。这是一个任意字符串,其解释是播音员。
这种方法不使用non-ordered广播与Context.sendBroadcast比如发送
参数:data:新的结果码,可能为null。
public final void setResultExtras (Bundle extras)
额外的广播改变 当前的结果;仅适用于通过Context.sendOrderedBroadcast广播发送。这是一个包持有任意数据的解释是播音员。可以设置为null。调用该方法完全替换当前的地图(如果有的话)。
这种方法不使用non-ordered广播与Context.sendBroadcast比如发送
参数:extras:新的额外的数据map;可能是null