Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED”

开机自启动程序,只需要“捕捉”到这个消息再启动你的程序即可,我们要做的是接收这个消息,并实现一个BroadcastReceiver;

网络状态发生变化时会发出一个系统广播CONNECTIVITY_ACTION值为"android.net.conn.CONNECTIVITY_CHANGE",

对网络做一判断,即可实现开机时有可用网络以及网络状态变化且网络可用时自动运行程序 。

代码如下:

/*** 开机启动检测和连接wifi检测* */
public class BootBroadcastReceiver extends BroadcastReceiver {
static final String ACTION = "android.intent.action.BOOT_COMPLETED";//boot
static final String NetChange = "android.net.conn.CONNECTIVITY_CHANGE";//the net change
private static final String TAG = "BootBroadcastReceiver";@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo wifiInfo = connectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);Log.d(TAG, intent.getAction());
if((intent.getAction().equals(ACTION) && wifiInfo.isConnected())
||(intent.getAction().equals(NetChange) && wifiInfo.isConnected())){Intent startIntent = new Intent(context,MainActivity.class);
startIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(startIntent);
}else{
Log.d(TAG, "no net ,do not start app");
}
}
}

Manifest配置部分:

        <receiver android:name=".receiver.BootBroadcastReceiver" ><intent-filter ><!-- boot  --><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter><intent-filter ><!-- net change action --><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /></intent-filter></receiver>

Android开机启动检测和连接wifi检测相关推荐

  1. 无显示器首次启动树莓派并连接WIFI进行SSH(解决无显示器首次开机无法连接WIFI问题)

    无显示器首次启动树莓派并连接WIFI进行SSH 前言: 本人前段时间购入树莓派zero w,近期想拿来跑python脚本. 因无额外可外接显示器,键盘鼠标.因此对树莓派连接方式选择 WIFI连接路由器 ...

  2. Android开机启动流程

    Android开机启动流程 一.APPS PBL(Application primary boot loader:主引导加载程序) 二.XBL(Extensible boot loader:可扩展引导 ...

  3. Android开机启动Activity或者Service方法

    这段时间在做Android的基础开发,现在有一需求是开机启动,按照网上某些博文教程做了下,始终不成功,一开机总是提示所启动的应用程序意外终止,于是参考了Android SDK doc,终于解决问题,下 ...

  4. Android开机启动流程简析

    Android开机启动流程简析 (一) 文章目录 Android开机启动流程简析 (一) 前言 一.开机启动的流程概述 二.Android的启动过程分析 (1).总体流程 init简述 Zygote简 ...

  5. deepin开机未登录自动连接wifi

    deepin在开机后没有登录进系统前,不会自动连接wifi.这点对于远程不方便. 另外,如果是使用字符界面启动,也不会连接wifi. 方法很简单: nmcli device wifi connect ...

  6. 【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 一.检查是否连接WiFi以及输出WiFi信息 传统的定位方式不适用于室内的垂直定位,原因如下: (1)卫星定位要求没有障碍物遮挡,它在户外比较精准,在 ...

  7. Android开机启动性能优化

    Android 开机启动速度优化 一 在开机启动中,可以借助bootchart 工具分析android的启动过程.bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自 ...

  8. Android 10 上使用WifiNetworkSpecifier 连接WiFi后http请求失败 Connection failed

    问题描述:在连接设备热点的开发中,使用WifiNetworkSpecifier连上设备热点,再切换回原网络后,http请求一直报SocketException: Connection failed ( ...

  9. Android开机启动的那些事

    以前知道AMS.PMS这些概念及其功能,开发的过程中也会用到,就是不知道其来源,好奇心害死猫,扒着扒着扒到系统开机启动这个知识层面上来了,好吧,那今天就说说这个吧! 系统开机启动过程 Android系 ...

最新文章

  1. 《从技术走向管理——李元芳履职记》读书心得
  2. 重置npm设置_密码重置用户流程4部曲
  3. git 撤销文件的修改(checkout/reset )
  4. 7500 cpuz跑分 i5_核心硬盘 i5 7500性能测试_DIY攒机酷品测试-中关村在线
  5. 利用系统级别的光谱成像技术分析细胞器的互作组学
  6. php 关于token、签名、加密的一点理解
  7. 曲线运动与万有引力公式_高中物理公式大全
  8. 中国最好的产品经理100人
  9. 进化算法和深度强化学习的关系?
  10. 黄巢的菊花,非常喜欢,贴出来共享一下
  11. Pygame实战:BOOM 这有一款超刺激的扎气球游戏等你来玩~
  12. 【AI Data Science】第 1 章分析性思维与 人工智能驱动的企业
  13. 投影仪应该怎么选择?数码粉总结目前最好的家用投影仪
  14. 使用itextpdf生成pdf
  15. java接口如何有效防止恶意请求
  16. UNI-APP,推广二维码页面实现
  17. html密码款初始默认点,tplogin.cn默认(初始)密码是多少?
  18. 第一个简单的JSP网页
  19. 海龟交易 matlab,海龟交易系统是什么时候按2N止损,什么时候按10日止损,驴兄的见解!...
  20. 融资、量产和一栈式布局,这家Tier 1如此备战高阶智驾决赛圈

热门文章

  1. 跨平台API对接(Java)
  2. TypeScript数据类型
  3. 图像处理中经常用的一幅图片Lena.jpg
  4. c语言实验报告中致谢词,实验报告致谢词范文.doc
  5. aria2Linux开机启动,Ubuntu安装aira2及开机启动配置
  6. win7 android 双系统平板 p1000,优派Windows7/Android双系统ViewPad 100
  7. 手机浏览器调用手机qq客户端的js
  8. JAVA个人记账本代码,Java的家庭记账本程序(L)
  9. 1. 编写函数 cal_numbers:参数为字符串,统计并返回该字符串中的英文字母、空格、数字和其它字符的个数
  10. Ant编译Java项目-QuickStart