当前位置: 首页 > 面试题库 >

Android 广播的分类?

姬承教
2023-03-14
本文向大家介绍Android 广播的分类?相关面试题,主要包含被问及Android 广播的分类?时的应答技巧和注意事项,需要的朋友参考一下

分为有序广播和无序广播两类。

无序广播发送代码:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
     
    public void click(View v){
        //启动界面 startActivity
        //发送广播 sendBroadcast
     
        Intent intent = new Intent();
     
        intent.setAction("com.itheima.cctv.action.NEWS");   
        intent.putExtra("data", "我是一个无须的广播");
        sendBroadcast(intent);  
    }
   }
}

无序广播的监听代码:

public class CctvReceiver extends BroadcastReceiver {
    private static final String TAG = "CctvReceiver";
    @Override
    public void onReceive(Context context, Intent intent) {
        String data = intent.getStringExtra("data");
        Log.d(TAG, "data==="+data);
    }
}

<receiver android:name="com.itheima.cctv.CctvReceiver">
            <intent-filter >
            <!--这里监听的广播就是上面发送广播设置的			      intent.setAction("com.itheima.cctv.action.NEWS");-->
                <action android:name="com.itheima.cctv.action.NEWS"/>
            </intent-filter>
</receiver>

有序广播发送:

public class ShengReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("vivi", "我是省级部门,我收到的指令是:"+getResultData());
        //getResultData()是用来获取有序广播里面的数值.这里的信息是:
        //主席讲话:每人奖励10斤土豆
            setResultData("主席讲话:每人奖励7斤土豆");//有序广播的数值,可以被修改,后面的程序在接受到这个广播,就会变成,现在我们改变的值了
     
        //有序广播传输是可以终止的.但是最终的接受者就算在终止之后,也是可以接受到数据的
        //abortBroadcast();
    }
 }
 
public class ShiReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("vivi", "我是市级部门,我收到的指令是:"+getResultData());
    //因为上面修改了数据,所以这里获取到的数据是:主席讲话:每人奖励7斤土豆
    }
}
<!--有序广播的优先级别使用 android:priority=""来指定,最高是1000,最低是-1000-->
<receiver android:name="com.itheima.region.ShengReceiver">
            <intent-filter android:priority="1000">
                <action android:name="com.itheima.gov.action.POTATO"/>
            </intent-filter>
        </receiver>
 <receiver android:name="com.itheima.region.ShiReceiver">
       <intent-filter android:priority="500">
            <action android:name="com.itheima.gov.action.POTATO"/>
        </intent-filter>
    </receiver>

 

有序接收:

public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("vivi", "我是恩恩主席的内线,我收到的指令是:"+getResultData());
    }
}
 类似资料:
  • 当我收到一条消息,我正在用谷歌服务从我的桌面发送到我的Android系统时,我正在用谷歌服务进行广播,在广播后,我的应用程序崩溃了,我的日志被切断了 我的GCM服务类公共类GCMIntentService扩展了GCMBaseIntentService{ 我的显示消息函数公共静态无效displayMessage(上下文,字符串消息){Intent意图=new Intent(DISPLAY_MESSA

  • 本文向大家介绍Android中的广播和广播接收器代码实例,包括了Android中的广播和广播接收器代码实例的使用技巧和注意事项,需要的朋友参考一下 BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播   1.定义一个广播接收器   2.发送广播,定义好action标志,用Intent发送 3.注册只接收指定action的广播接收器 4.取消该广播接收器

  • 广播(Broadcast)机制用于进程/线程间通信,广播分为广播发送和广播接收两个过程,其中广播接收者BroadcastReceiver便是Android四大组件之一。 BroadcastReceiver分为两类: 静态广播接收者:通过AndroidManifest.xml的标签来申明的BroadcastReceiver。 动态广播接收者:通过AMS.registerReceiver()方式注册的

  • 输出如下: 如果两个数组的维数不相同,则元素到元素的操作是不可能的。 然而,在 NumPy 中仍然可以对形状不相似的数组进行操作,因为它拥有广播功能。 较小的数组会广播到较大数组的大小,以便使它们的形状可兼容。 如果满足以下规则,可以进行广播: 如果输入在每个维度中的大小与输出大小匹配,或其值正好为 1,则在计算中可它。 如果上述规则产生有效结果,并且满足以下条件之一,那么数组被称为可广播的。 数

  • 原文:Broadcasting 另见:numpy.broadcast 术语广播描述了NumPy在算术运算时如何处理不同形状的数组。 在某些条件下,较小的数组“广播”成较大的数组以便有相同的形状。 广播提供了一种矢量化操作数组的方法,这样可以在C而不是Python中进行循环。 它可以在不制作不必要的数据副本的情况下实现这一点,并且通常可以实现高效 然而,有些情况下广播是一个坏主意,因为它会导致内存使

  • 本文向大家介绍Android BroadcastReceiver广播机制概述,包括了Android BroadcastReceiver广播机制概述的使用技巧和注意事项,需要的朋友参考一下 Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器)。广播作为Android组件间的通信方式,可以使用