Android实现开机自启动无效问题
16lz
2022-01-12
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); }}}
下面简单说下开机自启动失效问题
- 系统中没有注册receiver
尽管这个问题几乎是不可能出现的,还是列出来吧,^_^
在AndroidManifest.xml中注册receiver - 没有Boot权限
和上面一样,这个问题也是几乎不可能出现的
添加权限 - 修改之后直接关闭模拟器,然后Run as ...
Run as 是相当于先启动模拟器,然后再安装应用程序,虽然这种情况有时也会成功,但失败的情况也不少
在测试这种开机启动的应用的时候不应该直接Run as...,应该在AVD中启动模拟器,如图 - 如下图所示
这个问题烦了我很久,有这种Android实现开机自启动无效的问题,不妨参考下这种方法
更多相关文章
- Android(安卓)开关机动画
- Android中帧动画在Activity启动时自动运行的几种方式
- Android(安卓)8.0 Activity启动过程分析
- android adb和串口调试.
- Android系统启动流程(源码分析)
- 开发环境的搭建-----------Day01 2014-5-26
- android常用adb命令
- Android(安卓)无线启动过程分析 无线启动过程分析
- android 启动Activity的四种模式