【原理】
当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获这条广播,然后启动我们的Activity或者Service,当然要注意的是,我们的application必须具有捕获该广播的权限,下面请看具体步骤:
【步骤一】首先要有一个用于开机启动的Activity或者Service,这里以系统自己创建的最简单的Activity为例进行讲解。
package com.billhoo.study;
import android.app.Activity;
import android.os.Bundle;
public class BootTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
【步骤二】我们要编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的Activity。
注意:必须在intent中添加Intent.FLAG_ACTIVITY_NEW_TASK标记,这就是我之前老是启动失败的原因。至于为什么,我还在研究SDK doc,明白了之后就回来补上。
package com.billhoo.study;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
{
Intent newIntent = new Intent(context, BootTestActivity.class);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //注意,必须添加这个标记,否则启动会失败
context.startActivity(newIntent);
}
}
}
【步骤三】在AndroidManifest.xml配置文件中注册我们的BroadcastReceiver
<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
【步骤四】在AndroidManifest.xml配置文件中添加允许我们捕获该广播的权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
分享到:
相关推荐
本PPT讲述的是Android应用开发新路线:利用HTML5开发Android应用程序! 姓 名:杨丰盛 英文名字:yarin 网 名:半灌水 门 派:移动互联网 ^_^ 现任公司:云晖软件(成都)...个人主页:http://yarin.blog.51cto.com
1) 本文对DiscuzNt3.6的大致结构作一些分析 2) 本文不保证所有的用语都是标准的,如有语误,或者打错字,欢迎指正,可发邮件给我:cfqlilei@139.com(务必说明你是谁哦,...51CTO: http://cfqlilei.blog.51cto.com/
./init_system.sh #此脚本参见http://kerry.blog.51cto.com/172631/555535 三、LVS+keeplived #关于LVS+keeplived的配置请参考我的另一篇博文《CentOS5.5环境下布署LVS+keepalived 》...
与标题一致的描叙,你值得拥有,确实很值。...http://android-zhang.iteye.com/blog/1836312 http://www.2cto.com/kf/201303/199088.html http://hi.baidu.com/xinshenbuning2/item/e94226de7517fe1ed78ed0b1 ...
1) 本文分析将按照每个项目进行分析,每个项目建立文件大纲进行分析,同时会引申一些相关的内容知识。 本节分析文件: Discuz.Web\install\index.aspx ...51CTO: http://cfqlilei.blog.51cto.com/
http://sw3458856.blog.51cto.com/6499064/1421507 这是本人的博客上面有详细介绍,
梁肖51CTO博客:http://blog.51cto.com/liangxiaoAndroid业务组件库:http://blog.51cto.com/liangxiao/2146536APP框架多渠道打包和闭包,支持分包安装,UI独立,网络请求独立 此项目还有一些不完善的地方,可以留言...
websphere commerce的使用即websphere commerce图解....http://sysapp.51cto.com/art/200602/21767.htm http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0503_mistry/0503_mistry.html
windows2008+Oracle11gR2故障转移群集配置完整版2011-01-0905:14:52标签:HYPERLINK...//blog.51cto.com/tagindex.php?keywo
一直很关注雨松MOMO的博客,里面的代码包含应用开发和游戏开发,其中还有雨松各个博客的文档,是非常好的android学习资料
wxappblog 微信小程序-小波说雨燕blog 被微信小程序刷屏, 利弊得失先不去想, 玩一玩才是真的. 动手把这个博客实现了一下,虽然很简陋, 不过应该足以理解...入门视频: http://edu.51cto.com/course/course_id-7242.html
在(移动联通电信)wap网络下,android webview控件无法...在此感谢这两位博主分享的博文:http://johnson008.blog.51cto.com/4000361/729387 http://hi.baidu.com/z57354658/blog/item/5902da1f318d67d5a78669d6.html
64位linux提示gnu/stubs-32.h:No such file or directory的解决方法 这个问题是由于缺少32位兼容包,解决办法: ubuntu: sudo apt-get install libc6-dev-i386 CentOS:yum -y install glibc-devel.i686 ...
各位朋友大家好!年关将近,一年的劳碌奔波总算到头儿了,可以好好放松放松。在这里预祝大家新年快乐!其次,《Linux运维趋势》2013年1月号跳票了,在...往期《Linux运维趋势》下载汇总页:http://down.51cto.com/zt/71
博客 http://lizhenliang.blog.51cto.com GitHub https://github.com/lizhenliang/Shell-Python-Document QQ 技术群 323779636(Shell/Python 运维开发群) 说明 本文档均为个人经验总结,转发请保留出处,...
五步制作超级启动盘 ...不知道怎么弄的欢迎参考超级启动盘制作视频教程http://i.youku.com/u/UNDM2OTQyMjM2或文库五步制作超级启动盘的详细教程http://down.51cto.com/data/518498,下载地址是这个...
WPF编程宝典C#2010版【0分...88个经典Android应用程序打包[源代码] http://download.csdn.net/detail/cleopard/5729535 java算法大全源码包-java算法大全,有近100多种常见算法的源代码,是学习JAVA算法的难得资料 ...
http://blog.51cto.com/magic3/1754200 --------------------- 作者:weixin_44056589 来源:CSDN 原文:https://blog.csdn.net/weixin_44056589/article/details/87177490 版权声明:本文为博主原创文章,转载...
http://hahapig.blog.51cto.com/171737/113639 http://wenku.baidu.com/view/febd84eb551810a6f52486b0.html 第三部:安装润乾和建立自己的web项目(例如项目有名字叫test) 一般都在myeclipse建立 第四步:部署test...
http://bbs.51cto.com/thread-656516-1.htmlXP的DNS服务器(BIND)配置环境:WindowsXP(Win7也测试通过)工具:1.HYPERLINK"ftp://ftp.bind....配置文件etc.zip如果本文发布地方带有附件,则已经包含以上2个文件1....