[Android Pro] 有关Broadcast作为内部类时注册的一些问题

简介:

很经常Broadcast都会写成一个Activity或者Service的内部类。这时候的注册和普通有点小区别。

有两种情况
1、假如是再Manifest文件里面静态注册的话,需要注意。
ex:
<application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <receiver android:name=".MyActivity$MyReceiver" >
            <intent-filter>
                <action android:name=" com.example.test.BROADCAST" />
            </intent-filter>
        </receiver> 
</application>
       
其中关键点是
一、     .MyActivity$MyReceiver   注意类名与内部类的名字之间用$符号隔开。
二、    action里面配的name com.example.test.BROADCAST  当配位这个时,广播发送时
        Intent intent = new Intent("com.example.test.BROADCAST");  
        intent.putExtra("action", "test");  
        sendBroadcast(intent);
        要和Intent里面的参数一致。否则将无法接受到广播。
三、    public static class MyReceiver extends BroadcastReceiver
        别忘了给接收器定义成public static的,否则启动会报错。
 
2、假如为动态注册时
一般写在OnCreate 或者 OnStart等方法里面
        IntentFilter filter = new IntentFilter( com.example.test.BROADCAST);
registerReceiver(broadcastReceiver, filter);
动态注册的话就必须启动程序后才能接受到广播,静态注册就算这个程序没启动,也可以接收到广播。
 

分类: Android Pro

本文转自demoblog博客园博客,原文链接http://www.cnblogs.com/0616--ataozhijia/p/3874349.html如需转载请自行联系原作者


demoblog

相关文章
|
4月前
|
XML Java Android开发
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
Android App开发网络通信中使用okhttp下载和上传图片、文件讲解及实战(超详细实现用户注册信息上传 附源码)
132 0
|
8月前
|
Java API Android开发
Android 静态注册广播接收者和动态注册广播接收者(Android8.0之前和之后)
Android 静态注册广播接收者和动态注册广播接收者(Android8.0之前和之后)
202 0
|
4月前
|
XML Java Android开发
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
Android Studio App开发之监听系统广播Broadcast的讲解及实战(包括接收分钟到达广播、网络变更广播、定时管理器等 附源码)
77 0
|
4月前
|
XML 安全 Java
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
37 0
|
9月前
|
Java Android开发 C++
[Android JNI] --- 静态注册和动态注册实现java和native相互调用
[Android JNI] --- 静态注册和动态注册实现java和native相互调用
109 0
|
10月前
|
Android开发
Android:四大组件之 Broadcast(广播)
Broadcast 是一种广泛运用的、在应用程序之间传输信息的机制,Android 中的广播与传统意义上的电台广播类似,一个广播可以有任意个接收者,当然也可能不被任何应用程序所接收。广播机制是一个典型的发布-订阅模式,也就是观察者模式。
70 0
Android:四大组件之 Broadcast(广播)
|
11月前
|
Java
Android_登录注册小实例
首先我对EditView,button,textview外观设置了一下。
56 0
|
存储 消息中间件 缓存
Android高级:内部类的理解,多态,run和start,wait和seelp,线程安全,堆和栈,synchronized 和volatile ,AsyncT
Android高级:内部类的理解,多态,run和start,wait和seelp,线程安全,堆和栈,synchronized 和volatile ,AsyncT
118 0
|
开发工具 Android开发
Android App开发超实用实例 | ​Broadcast
介绍Broadcast的静态注册、动态注册及有序广播。 Broadcast(广播)分为发送者和接收者,可实现跨应用的消息传递。重启手机、闹钟、来电、接收短信等都会发出广播,通过BroadcastReceiver就可以接收广播并进行相应处理。
133 0
Android App开发超实用实例 | ​Broadcast