首页
学习
活动
专区
圈层
工具
发布

【Android 电量优化】电量优化 ( 使用 AlarmManager 保持 CPU 唤醒 )

代码示例 2、AndroidManifest.xml 服务配置 四、源码及资源下载 参考 Google 官方文档 : 优化电池续航时间 管理设备唤醒状态 使设备保持唤醒状态 设置重复闹铃时间 上一篇博客...: 开发者可以设定触发任务执行的周期 , 该任务一般是通过发送延迟意图 PendingIntent 实现 ; ③ 广播接收者 : 一般使用 AlarmManager 定时发送 延迟意图 PendingIntent...ACTION 事件 ; private BroadcastReceiver receiver = new BroadcastReceiver() { @Override..., 并设置每隔 50 秒发送一次广播 , 广播接收者接收到该意图 , 就会处理对应事件 ; // 获取闹钟管理器 mAlarmManager = (AlarmManager) getSystemService...(ALARM_SERVICE); // 设置闹钟管理器每隔 50 秒发送一次延迟意图 mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,

1.4K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Intent 和 PendingIntent 区别

    intent 英文意思是意图,pending 表示即将发生或来临的事情。 ...pendingintent中保存有当前App的Context,使它赋予外部App一种能力,使得外部App可以如同当前App一样的执行pendingintent里的 Intent, 就算在执行时当前App已经不存在了...Intent一般是用作Activity、Service、BroadcastReceiver之间传递数据;而Pendingintent一般用在 Notification上,可以理解为延迟执行的intent...FLAG_UPDATE_CURRENT 这个简单解释一下,就是当存在时,先把原来的取消,然后创建一个新的,在AlarmManager服务时修改一个闹铃,用的比较笨的的方法,先取消然后重新注册,其实加上这个参数就行了...要注意的是,这个只更新extra data,不会修改其他内容,不能new一个Intent,还有就是如果你的Intent中需要传递Id或者其他数据,一定要用这个flags或者FLAG_CANCEL_CURRENT

    2.2K50

    【好用】在任意图片上生产GIS数据,无需图像配准!

    最近注意到客户的一些场景是不需要真实得经纬度数据,它们的共同点是有平面设计图,在可视化层面只是展示点线面标注,点击有交互。如客户深圳深农集团《数字档位管理系统》显示档口平面图。...轮廓数据使用Geobuilding软件结合单影像图层绘制生产。通用的场景1、客户不关心经纬度数据,只是展示点线面(建筑面)做简单交互。2、有平面设计图为了解决这种场景。...Geobuilding软件在中增加了《忽略配准同步到单影像》选项,现在可以方便的导入任何图像,不需要再采集控制点,直接同步到软件【单影像】中忽略配准,图像将不会有正确的经纬度坐标数据。...基于此生产的GIS数据,不适合做坐标点动态更新的GIS场景,比如GIS场景中人车事件点位坐标的更新,需要配合正确的底图。适合单纯的GIS点线面(建筑面)展示。如图, 基于任意图片生产点线面数据。

    12500

    笔记58 | Android闹钟

    当我们从服务端同步数据时,往往会在应用不被使用的时候时被唤醒触发执行某些操作。此时你可能希望使用重复闹钟。...但是如果存储数据的服务端是由你控制的,使用Google Cloud Messaging(GCM)结合sync adapter是一种更好解决方案。...比如:同步的触发可能基于一条“新数据”提示消息,而消息的产生可以基于服务器或设备,用户的操作(或者没有操作),每天的某一时刻等等。...“本地任务”指的是任何不需要访问服务器或者从服务器获取数据的任务; 同时对于那些包含有网络请求的闹钟,在调度时机上增加一些随机性。...设置重复闹钟 如上所述,对于定期执行的任务或者数据查询而言,使用重复闹钟是一个不错的选择。它具有下列属性: 闹钟类型(后续章节中会展开讨论); 触发时间。

    2K30

    pendingIntent初步_什么是pendingIntent「建议收藏」

    PendingIntent对象 通过getBroadcast(Context context, int requestCode, Intent intent, int flags)从系统取得一个用于向BroadcastReceiver...pendingIntent执行的操作实质上是参数传进来的Intent的操作,但是使用pendingIntent的目的在于它所包含的Intent的操作的执行是需要满足某些条件的。...正由于 PendingIntent 中保存有当前 Application 的 Context ,使它赋予带他程序一种执行的 Intent 的能力,就算在执行时当前 Application 已经不存在了,...主要的使用的地方和例子:通知Notificatio的发送,短消息SmsManager的发送 和 警报器AlarmManager的执行等等。...PendingIntent contentIntent = PendingIntent.getActivity(this, 0, openintent, 0);//当点击消息时就会向系统发送openintent意图

    1K10

    【Android开发高级系列】进程保活专题

    2.7 AlarmManager唤醒 思路:通过AlarmManager设置一个定时器,定时的唤醒服务     **保活强度:**killBackgroundProcess下,大部分情况work,     ...系统服务    AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);    ...用来作数据同步,由于并没有实际数据同步,所以此处就直接建立一个空的ContentProvider即可。...start_service(package_name, service_name); }         但这只是一个没有主动权的消息轮询器,说是守护其实很勉强,而且,这是要建立在保证c进程不挂的基础上,...3 参考链接 Android进程保活全攻略(上) http://blog.csdn.net/u012124438/article/details/53141113 【腾讯Bugly干货分享】Android

    1.1K30

    从源码角度看广播

    例如监听WIFI的开启状态、时间的获取,甚至是我们最常用的闹钟功能,都是结合着AlarmManager与广播来实现的。...ReceiverList: 继承自一个泛型为IntentFilter的ArrayList,保存着IntentReceiver句柄,同时有着匹配广播Intent的作用 mRegisteredReceivers中的数据在...BroadcastFilter, ResolveInfo和ReceiveList在前面的队列中都已经出现过了,我就不做解释了,只对App端的几个对象进行解释: ActivityThread: 客户端的”主线程”,本质上不是线程...,当新进程在Zygote成功创建后,会调用ActivityThread的main方法,而这个方法将会启动一个Looper,所谓的客户端主线程就运行在这个Looper上,main方法调用Looper.loop...方法 dumpsys activity b中保存着广播注册、发送中涉及的重要数据结构的实时状态与历史状态,对调试很有帮助

    67040

    意图Intent

    它基本上是一个被动的数据结构,对要执行的动作进行抽象描述。 意图结构 意图的主要信息是: 动作要被执行的一般操作,如-,ACTION_VIEW等。...这是通过的过程中处理的意图的分辨率,其中意图映射到Activity,BroadcastReceiver 或者 Service(或有时两个或两个以上的活动/接收器),其可以处理它。...意图解析机制基本上是围绕安装的应用程序包中的所有 描述匹配一个Intent。...串 ACTION_DEVICE_STORAGE_OK 广播动作:表示设备上的内存不足情况不再存在 这是一个受保护的意图,只能由系统发送。 串 ACTION_DIAL 活动操作:拨打由数据指定的号码。...串 EXTRA_ALARM_COUNT AlarmManager在intent中用作一个int外部字段来告诉被调用的应用程序有多少未决的警报正在被意图传递。

    1.6K10

    Android:CoolWeather天气查看器

    = null) { connection.disconnect(); } } 3.解析XML和JSON数据 第一:XML数据(Pull解析和SAX解析) /* * 首先要获取到一个XmlPullParserFactory...lxj1137800599/article/details/50358765 和http://blog.csdn.net/lxj1137800599/article/details/50495046 6.BroadcastReceiver...的使用 public class AutoUpdateReceiver extends BroadcastReceiver { @Override public void onReceive(Context...第二个泛型参数指定为Integer,表示使用整型数据来作为进度显示单位。 第三个泛型参数指定为Boolean,则表示使用布尔型数据来反馈执行结果。...* 返回的数据会作为参数传递到此方法中,可以利用返回的数据来进行一些UI 操作, * 比如说提醒任务执行的结果,以及关闭掉进度条对话框等。

    1.3K20

    Android-Jetpack笔记-WorkManager

    他会根据系统版本选择合适的方案执行任务,比如在API 23及以上使用JobScheduler,以下则使用BroadcastReceiver和AlarmManager,能兼容到API 14。...同时,他会将任务存储进数据库来保证关机重启后任务仍可执行(这点有待验证,因为国内机型太多了)。...{ //创建要传递的参数,最大10KB Data inputData = new Data.Builder().putString("input_data", "输入数据...延迟2秒执行 .addTag("MyWorker") //设置标签 .setInputData(inputData) //设置输入数据...优缺点 优点: 使用方便,内部会根据不同系统选择合适方案 能链式调度,让各任务按指定顺序执行 能配置各种执行状态,如有无网络、是否在充电 任务被存储进数据库,关机仍可执行(待验证) 缺点: 还没发现

    1.1K20
    领券