ex10 android 自启动,android开机自启动

本文介绍了如何在Android设备上实现应用开机自启动,包括在代码中设置开机广播接收器以及在AndroidManifest.xml中添加必要的权限。然而,实际操作中可能会遇到设备制造商的额外限制,例如在小米手机上,需要在应用管理设置中允许应用开机启动和自启动管理才能生效。此外,代码示例展示了如何使用BroadcastReceiver监听开机事件并启动应用和服务。
摘要由CSDN通过智能技术生成

很多时候为了用户使用方便,我们需要在移动设备开机时设置一些随机自启动服务,如定期发送自己关心的讯息、新收邮件的自动推送以及语音唤醒及识别等等,这些服务在日常生活中还是很有意义的。

对于注册并开启自动启动的代码也是比较简单的,百度可以在很多网站上找到实例,现把我自己在项目中使用到的代码贴在下面:

public class OnBootReceiver extends BroadcastReceiver {

private static final String TAG = "SmartService";

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {

// 开启应用

Intent sintent = context.getPackageManager().getLaunchIntentForPackage( "app应用包名" );

context.startActivity( sintent );

// 开启服务代码

//context.startService( new Intent(context, ServerService.class) );

Log.e(TAG, "Brodcast received!!!");

}

}

}

相应地,我们需要在AndroidManifest.xml文件中加入权限设置和启动注册,如下:

// 权限

// 注册广播接收器,设置过滤器

将上述代码加入项目中即可以实现开机自动启动?如果是的话,你就真的太幸运了。笔者在小米手机上试过很多次,这样做是基本实现不了手机开机自动启动应用的,还必须在手机上作如下设置才行。

先从正在测试的app中退出,打开应用管理允许“开启WIFI”,再在自启动管理中允许需要开机启动的app,然后再打开app注册服务即可实现下次设备启动时自动启动,顺序最好严格按照这个过程来操作,因为笔者做过很多尝试都不一定能成功做到自动启动。

2016.09.06 补充:发现在注册Service之前先需要先使用Activity即extends Activity进行注册,之后再改为extends Service 或者是直接命令 adb shell am startservice /启动Service

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值