-
Service的优先级要高于Activity,Service几乎不会被GC给回收,就算被回收了,也会自动重启的。查看全部
-
Service的类型查看全部
-
关于Service组件的简介:Service中不要做耗时的操作,如果要做,我们在Service中新开一个线程,在线程中做耗时的动作,比如:我们可以用AsyncTask在Service中做耗时的操作。查看全部
-
对于动态注册的BroadcastReceiver,我们需要在程序结束的时候调用unregisterReceiver(receiver)来进行销毁。查看全部
-
sticky broadcast和普通广播类似,也是不能被截断和修改的查看全部
-
对于sticky broadcast,我们需要添加相应的用户权限,因为这个broadcast会滞留在内存中。查看全部
-
所谓的sticky broadcast(通过sendStickyBroadcast()发送)是指这个广播会滞留在内存中,不会发送完之后就消失了,之前的一般广播(通过sendBroadcast()发送)和有序广播(通过setOrderedBroadcast()发送)都是发送完了就消失了,所以对于sticky broadcast我们可以先发送广播,然后再注册receiver都可以。查看全部
-
在顺序广播中调用abortBroadcast可以中断广播的传播,这样优先级低的BroadcastReceiver就收不到广播了。查看全部
-
发送有序广播的方法查看全部
-
BroadcastReceiver的注册,我们大部分选择静态注册,即直接写在AndroidManifest.xml中。查看全部
-
在代码中动态注册BroadcastReceiver的方法: IntentFilter inf = new IntentFilter(action_string); BC bc = new BC(); // BC是继承了BroadcastReceiver这个类 registerReceiver(bc, inf); // 完成注册,registerReceiver()是Context对象的方法查看全部
-
为broadcast receiver添加优先级,数字越大,优先级越高。静态添加的方法:在为intent-filter标签添加一个priority属性就可以了。查看全部
-
如果是我们接受系统的broadcast,那么我们只需要在AndroidManifest.xml注册对应的receiver就可以了,或者我们动态注册也可以。查看全部
-
创建一个BroadcastReceiver,然后使用静态的方法进行注册。 1. 使用一个类继承BroadcastReceiver类,并且重写onReceive方法:注意这个方法里面不要做耗时操作; 2. 在AndroidManifest.xml中对BroadcastReceiver进行静态注册 <receiver android:name="继承了BroadcastReceiver的类的完整名称"> <intent-filter> <action android:name="这里要和Intent使用setAction()设置的字符串一样才行"> </intent-filter> </receiver>查看全部
-
Intent中的setAction是设置Intent被匹配的条件,只要这里设置的的action字符串匹配上BroadcastReceiver中相应的action的字符串就表示这个BroadcastReceiver接收到了这个broadcast。所以我们在将Intent通过广播broadcast出去的时候都要通过Intent的setAction来设置它的action字符串,否则这个被broadcast出去的Intent不会被任何的BroadcastReceiver接收到,那么这个broadcast就没有用了。 一般action的string要设置的全局唯一,所以一般我们使用"包名.类名.自定义的表示意图的名称(如:WEB_SEARCH)查看全部
举报
0/150
提交
取消