android 知识收集
1。无论是 Activity、BroadcastReceiver还是Service,只要是有长时间处理的任务,就需要重新开一个线程来处理,为什么会这样?
因为他们都是运行在主线程中的。
在BroadcastReceiver的onReceive(Context context , Intent intent )这个context是Activity还是Application?
如果你的BroadcastReceiver是通过在Activity中的registerReceiver(Broadcaster, filter)来注册的话,那么这个context就是这个Activity,
而如果是通过AndroidManifest来注册的话,那么这个context就是:android.app.ReceiverRestrictedContext。
3.AlarmManager对象配合PendingIntent使用,可以定时打开一个Activity,发送一个BroadCast或者开启一个Service。
4.AlarmManager 启动 BroadcastReceiver ,BroadcastReceiver 再启动 Server
The Alarm Manager holds a CPU wake lock as long as the alarm receiver‘s onReceive() method is executing. This guarantees that
the phone will not sleep until you have finished handling the broadcast. Once onReceive() returns, the Alarm Manager releases this
wake lock.
This means that the phone will in some cases sleep as soon as your onReceive() method completes. If your alarm receiver
called Context.startService()
, it
is possible that the phone will sleep before the requested service is launched.
To prevent this, your BroadcastReceiver and Service will need to implement a separate wake lock policy to ensure that the phone
continues running until the service becomes available.
5.使用BroadcastReceiver实现开机启动Service或Activity
注册一个BroadcastReceiver用来监听手机开机Intent, 而该BroadcastReceiver又负责启动你的service或者activity.
6.连接本地web服务器
10.0.2.2
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。