提问之星 2015-12-08 07:16 采纳率: 90%
浏览 4655
已采纳

android中sendBroadcast方法问题

sendBroadcast这个方法的参数是什么,参数类型是什么,方法体有多少行代码,要指定返回值类型吗

  • 写回答

3条回答 默认 最新

  • devmiao 2015-12-08 07:17
    关注

    BroadCastReceiver 的 API
    abortBroadcast ():
    这个方法可以截获由 sendOrderedBroadcast () 发送来的 广播,让其它广播接收者无法收到这个广播。

    clearAbortBroadcast ()
    这个方法是针对上面的 abortBroadcast() 方法的,用于取消截获广播。这样它的下一级广播接收者就能够收到该广播了。

    getAbortBroadcast ()
    这个方法作用是:判断是否调用了 abortBroadcast (),如果先调用 abortBroadcast (),接着再调用 getAbortBroadcast (),将返回 true; 如果在调用 abortBroadcast() 、 clearAbortBroadcast ()

    getAbortBroadcast (),将返回 false;

    public final boolean getDebugUnregister ()
    Since: API Level 1

    Return the last value given to setDebugUnregister(boolean) .

    getResultCode ()
    如果用下面四个方法发送得广播,返回码为: -1 ;

    // sendBroadcast(intent);

    // sendBroadcast(intent, receiverPermission);

    // sendOrderedBroadcast(intent, receiverPermission);

    // sendStickyBroadcast(intent);

    如果用下面两个方法发送得广播,返回码为:根据你设置 initialCode 的数字是多少就是多少;

    // sendStickyOrderedBroadcast(intent, resultReceiver, scheduler,

    // initialCode, initialData, initialExtras)

    // sendOrderedBroadcast(intent, receiverPermission, resultReceiver,

    // scheduler, initialCode, initialData, initialExtras)

    getResultData ()
    得到发送广播时设置的 initialData 的数据;

    getResultExtras (boolean makeMap)
    If true then a new empty Map will be made for you if the current Map is null; if false you should be prepared to receive a null Map.

    得到由

    sendStickyOrderedBroadcast(intent, resultReceiver, scheduler,

    // initialCode, initialData, initialExtras) ;

    // sendOrderedBroadcast(intent, receiverPermission, resultReceiver,

    // scheduler, initialCode, initialData, initialExtras)

    中 initialExtras 传入的参数。

    实验:我用上面两个方法发了 initialExtras (这个一个 Bundle )传入的参数时,只要不为空,那么 makeMap 是否为 true 和 false 都能够得到数据。

    isInitialStickyBroadcast ()
    Returns true if the receiver is currently processing the initial value of a sticky broadcast -- that is, the value that was last broadcast and is currently held in the sticky cache, so this is not directly the result of a broadcast right now.

    如果广播接收者是目前处理的一个宿主的广播的初始值,将返回 true , - 也就是说,这个值是最后的广播出的值,目前正在举行的宿主缓存,所以这并不是直接导致了现在的广播。

    实验:在第三个应用中调用这个方法,无论你用哪种方式发送广播,这个方法得到的总是 false ;在发送广播 的 resultReceiver 广播接收者里面调用,得到的也是 false ;

    isOrderedBroadcast ()
    sendStickyOrderedBroadcast(intent, resultReceiver, scheduler,

    initialCode, initialData, initialExtras)

    上面这个方法发送时,得到的是 true;

    判断是否是有序广播;

    onReceive (Context context, Intent intent)

    public IBinder peekService (Context myContext, Intent service)
    Provide a binder to an already-running service. This method is synchronous and will not start the target service if it is not present, so it is safe to call from onReceive.

    Parameters:

    myContext The Context that had been passed to onReceive(Context, Intent)

    service The Intent indicating the service you wish to use. See Context.startService(Intent) for more information.

    setDebugUnregister (boolean debug)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?