android开机自启动原理与实现案例(附源码)

原理:

Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息。 Android系统为应用程序管理功能提供了大量的API,通过配置Intent和permission来实现各种功能。

开机自启动是通过

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED"/>

<category android:name="android.intent.category.HOME" />

</intent-filter>

和权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>实现。

举例:

1.新建一个广播接收器的类:[Java]

复制代码 代码如下:

/*

* $filename: BootBroadcastReceiver.java,v $

* $Date: 2013-6-7 $

* Copyright (C) ZhengHaibo, Inc. All rights reserved.

* This software is Made by Zhenghaibo.

*/

package njupt.zhb.startyouself;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

/*

*@author: ZhengHaibo

*web: http://blog.csdn.net/nuptboyzhb

*mail: zhb931706659@126.com

*2013-6-7 Nanjing,njupt,China

*/

public class BootBroadcastReceiver extends BroadcastReceiver {

static final String action_boot="android.intent.action.BOOT_COMPLETED";

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(action_boot)){

Intent StartIntent=new Intent(context,MainActivity.class); //接收到广播后,跳转到MainActivity

StartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(StartIntent);

}

}

}

2.在Manifest.xml文件中注册广播接收机,并且配置权限

注册广播接收机:

复制代码 代码如下:

<!-- 注册系统广播接收器 -->

<receiver android:name=".BootBroadcastReceiver" >

<intent-filter>

<action android:name="android.intent.action.BOOT_COMPLETED"/>

<category android:name="android.intent.category.HOME" />

</intent-filter>

</receiver>

添加权限:

复制代码 代码如下:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>

完成上述步骤后,启动一次程序,完成注册。等下次手机开机时,该软件即会自动启动。

扩展:不仅可以自动启动Activity,也可以启动一个后台服务(Service),只需要修改接收机中onReceive函数中的内容即可!

项目的源代码下载

时间: 2024-11-10 00:14:16

android开机自启动原理与实现案例(附源码)的相关文章

android开机自启动原理与实现案例(附源码)_Android

原理: Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息. Android系统为应用程序管理功能提供了大量的API,通过配置Intent和permission来实现各种功能. 开机自启动是通过 <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="an

【android-tips】如何在android应用中插入百度广告(附源码)

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.介绍    现在游戏中的广告基本上已经成为了游戏创作者的一个重要的收入来源.其实插入广告还是挺简单的,本文选择百度广告联盟作为案例(总觉得百度不会拖欠工资).注:不过,插入广告程序会稍微卡一些,而且真的很耗流量. (本文并不是照抄百度的文档,会很直白哦) 2.代码部分    首先肯定是注册百度广告联盟的账号,和下载sdk.地址:http://munion.baidu.com/     第二步,打开ecli

详解Android开发数据持久化之文件存储(附源码)

其实我们在社交网络上面所发出的任何信息, 都希望能够保留下来. 那么如何实现呢? 数据持久化 数据持久化, 就是将内存中的瞬时数据保存在存储设备中, 保证即便关机之后, 数据仍然存在. 保存在内存中的数据是瞬时数据, 保存在存储设备中的数据就是处于持久状态的. 持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换, Android系统中主要提供了3种方式用于简单地实现数据持久化功能, 即文件存储, SharePreference存储, 以及数据库存储. 当然你也可以将数据保存在

Android开机自启动应用

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

测试-Android开机自启动启动不起来,急急急急求帮助

问题描述 Android开机自启动启动不起来,急急急急求帮助 代码如下: 广播: import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootBroadcastReceiver extends BroadcastReceiver { static final String ACTION = "android.int

程序-android 开机自启动问题 急求

问题描述 android 开机自启动问题 急求 为什么同一个设备 同一个程序 开机自启动时灵时不灵呢?要疯了 解决方案 调试下可能在自启动下有异常出现 解决方案二: 一般回事什么异常 关键是有时是可以启动的 偶尔会不启动 解决方案三: 我个人觉得是那个可以使用的那个软件可以进行设置,或者的话使用电脑管家也可以设置,这是我的经验 解决方案四: 你设置一下启动的优先级别看看 让它晚一点启动

.Net 转战 Android 4.4 日常笔记(9)--常用组件的使用方法[附源码]

原文:.Net 转战 Android 4.4 日常笔记(9)--常用组件的使用方法[附源码] 经过两天的学习,把常用的组件都学习了一遍,并做成了App 学习可能真没有捷径,跟学习html有点类似,都是一个控件一个控件学习并使用,最后拼凑成一个系统 链接:http://pan.baidu.com/s/1hqefzEW 密码:zbel  最低API 2.3 目标API 4.4 采用Android Studio 0.58IDE 希望给和我同样的初学者带来一些便利,和开发时候可以查询,第一个版本可能比较

Android编程实现WebView全屏播放的方法(附源码)_Android

本文实例讲述了Android编程实现WebView全屏播放的方法.分享给大家供大家参考,具体如下: 最近因为项目要用webview加载html5的视频,开始不能全屏播,做了很久才做出来!那按我的理解说下怎么实现全屏吧. 首先写布局文件activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.

自定义Android六边形进度条(附源码)_Android

本文实例讲述了Android自定义圆形进度条,分享给大家供大家参考.具体如下: 大家也可以参考这两篇文章进行学习: <自定义Android圆形进度条(附源码)>   <Android带进度的圆形进度条> 运行效果截图如下: 主要代码: package com.sxc.hexagonprogress; import java.util.Random; import android.content.Context; import android.content.res.ColorSta