Android通过Broadcast(广播)实现开机自启动

我们只需要监听一个开机启动的Broadcast(广播)即可。

首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下

public class BootReceiver extends BroadcastReceiver {
 private PendingIntent mAlarmSender;
@Override
 public void onReceive(Context context, Intent intent) {
// 在这里干你想干的事(启动一个Service,Activity等),
//本例是启动一个定时调度程序,每30分钟启动一个Service去更新数据
 mAlarmSender = PendingIntent.getService(context, 0, new Intent(context,
RefreshDataService.class), 0);
long firstTime = SystemClock.elapsedRealtime();
AlarmManager am = (AlarmManager) context
 .getSystemService(Activity.ALARM_SERVICE);
 am.cancel(mAlarmSender);
 am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,
  30 * 60 * 1000, mAlarmSender);
    }
}

程序配置文件AndroidManifest.xml中注册这个Receiver来监听系统启动事件

主要是接受到安卓的开机广播通知就可以 启动自己的服务或者程序了

    <receiver android:name=".service.BootReceiver">
    <intent-filter>
     <!-- 系统启动完成后会调用-->
    <action android:name="android.intent.action.BOOT_COMPLETED">
     </action>
     </intent-filter>
    </receiver> 
时间: 2024-08-02 12:42:06

Android通过Broadcast(广播)实现开机自启动的相关文章

Android 广播(Broadcast)程序开机自启动

学习这个“通过广播开机自启动”知识点时忽略了手机本身“设置”里面自启动权限的没有打开,害得我思考好久. BootTestActivity.class package com.xxx.study; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class BootTestActivity extends Activity { @Override protected vo

Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务

情景概要:自己做的一个项目的时候,或得不到开启启动的通知,这样更别说开机启动通知里面实现开机服务功能了,查找了N多资料,说法不一,太多的人说4.0之后无法获得开机通知,通过各种渠道,各种大牛的方式仍然是那些N多人说不可行的方法,即使大牛给的是英文文档也是说这样可以的. 最后发现,开启启动通知已经实现了,但是自己的疏忽没有发现,我通过在通知里面弹出一个Toast,但是真机或者模拟器在开机的时候都需要很多启动项,导致最后的Toast弹出很晚,而自己却没看见.你可以在通知里面弹出10个以上的Toast

android项目 之 来电管家(8) ----- 添加开机自启动监听服务

现在大多数的应用都会开机自启动,来电管家更是如此,添加了开机自启动监听服务后,开机后即使你没有打开来电管家应用程序,一样可以拦截来电信息. 开机自启动Activity或Service的方法: 主要步骤: 1.  要有开机要启动的service或activity(这里开机要启动的当然就是ListenService了) 2. 编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity或service. BootC

Android笔记之 开机自启动

在项目中用到开机自动运行功能,因此学习了下,在此作为笔记记录下. 主要是以下4个步骤: 1.原理了解: 通过搜查资料发现,当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED,因此我们只需要在自己的应用中接收这个广播,然后启动APP即可. 2.编写接收器 既然是接收广播,必然是要用广播接收器,因此新建一个继承自广播BroadcastReceiver的类来专门接收上

Android中app开机自启动的开发

(1)首先添加权限开机启动权限 <!--开机启动权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> (2)注册一个BroadcastReceiver来检测android系统开机时发出的开机广播 package com.wxyz.dengchaoqun.testswf; import android.content.BroadcastReceiver;

Android开机自启动程序

背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED.只要在程序中“捕捉”到这个消息,再启动之即可.记住,Android框架说:Don''t call me, I''ll call you back.我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver. 1.界面Activity,BootStartDemo.j

android 程序开机自启动

今天遇到程序开机自启动,然后查了一下,很简单,就记录一下. 开机自启动,一般我们是开启启动一个广播,然后在广播里启动Activity或者别的服务. 我们要做的很简单,就是在AndroidManifest.xml  里面的广播中添加一行代码 <receiver android:name="广播名称"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED

Android浮动小球与开机自启动

看着手机上的360浮动小球,不评价其具体的功能与实用性,至少在UI设计与交互方面是个不小的创新. 如图片左上角所示,球中还会显示当前手机的运行状况,向下拉动还会有弹射来达到加速.清理等目的. 那好,先来实现一个类似的小球(仅限于形状,功能你懂得). 查阅了相关资料,整个界面除了小球以外,其他部分均是做透明处理. 1.由于用到了CompatModeWrapper,所以需要在AndroidManifest.xml中添加以下权限: 1 <uses-permission android:name="

Android 开机自启动应用

Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED” 开机自启动程序,只需要“捕捉”到这个消息再启动你的程序即可,我们要做的是接收这个消息,并实现一个BroadcastReceiver. 1 :xml 配置 在AndroidManifest.xml中Application节点内,添加自定义的广播类: 1 <receiver android:name=".Boo

Android:开机自启动并接收推送消息

接收推送消息部分我们通过ZeroMQ实现,可以参考http://www.cnblogs.com/ilovewindy/p/3984283.html. 首先是开机自启动的功能实现,代码如下:1.    AndroidManifest.xml中添加如下代码: 1 <!-- 抓取系统启动事件 --> 2 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 3 4 &l