Android实现开机自启动无效问题
16lz
2021-01-23
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实现开机自启动无效的问题,不妨参考下这种方法
更多相关文章
- 打开系统wifi设置界面
- Eclipse 开发Android 出现 aapt.exe 应用程序错误,该内存不能为“
- android中如何隐藏应用程序标题栏和通知栏
- WebView中调用系统相册或拍照上传
- cocos2dx android平台事件系统解析
- Android 4.03 编译系统------lunch
- android 彻底关闭应用程序