Android应用程序可以实现开机时启动相关应用(如service等),Android系统在开机启动时会发出一个系统广播"android.intent.action.BOOT_COMPLETED",在接收到这个广播就可以实现开机自启动功能。

下面就是一个简单的开机启动的广播receiver

import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;import com.feng.service.AndroidTestService;import com.feng.service.SecondService;/**  * @ClassName:BootReceiver  * @Description:广播监听程序 * @author:Android_Robot * @date:2011-11-26 08:44:33   */public class BootReceiver extends BroadcastReceiver {/** * Method name: onReceive 
* Description: please write your description
* Remark:
* @param context * @param intent
*/@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {Log.i("MyBootReceiver", "****** system boot completed ******");// ****** 启动一个Service ******Intent i= new Intent(); i.setClass(context, AndroidTestService.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startService(i); }}}

下面简单说下开机自启动失效问题

  1. 系统中没有注册receiver
    尽管这个问题几乎是不可能出现的,还是列出来吧,^_^
    在AndroidManifest.xml中注册receiver
  2. 没有Boot权限
    和上面一样,这个问题也是几乎不可能出现的
    添加权限
  3. 修改之后直接关闭模拟器,然后Run as ...
    Run as 是相当于先启动模拟器,然后再安装应用程序,虽然这种情况有时也会成功,但失败的情况也不少
    在测试这种开机启动的应用的时候不应该直接Run as...,应该在AVD中启动模拟器,如图
  4. 如下图所示

    这个问题烦了我很久,有这种Android实现开机自启动无效的问题,不妨参考下这种方法

更多相关文章

  1. 打开系统wifi设置界面
  2. Eclipse 开发Android 出现 aapt.exe 应用程序错误,该内存不能为“
  3. android中如何隐藏应用程序标题栏和通知栏
  4. WebView中调用系统相册或拍照上传
  5. cocos2dx android平台事件系统解析
  6. Android 4.03 编译系统------lunch
  7. android 彻底关闭应用程序

随机推荐

  1. android 手电筒的实现
  2. Android在子线程中更新UI(二)
  3. Android Audio代码分析14 - testPlayback
  4. 在四大主件以外的类中 怎么使用Context
  5. No 96 · android alertdialog
  6. Android MediaServer初始化流程
  7. Android重写view时onAttachedToWindow ()
  8. android checkBox 的选中和取消选中
  9. android 动画的实现
  10. Android WebView的简单使用