小米手机程序开机自启动

news/2024/11/8 14:47:05/

小米手机程序开机自启动

  • 实现机制
    • 申请权限
    • 创建监听广播
    • 静态注册广播
    • 小米手机权限申请
    • 完成

实现机制

使用广播对开机事件进行监听,监听到开机广播后启动程序界面。需要实现拦截广播android.permission.RECEIVE_BOOT_COMPLETED,并且需要使用静态注册广播的方法(即在AndroidManifest.xml文件中定义广播)

申请权限

在AndroidManifest.xml中添加监听权限和后台弹出的权限。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

创建监听广播

public class BootBroadcastReceiver extends BroadcastReceiver {static final String ACTION = "android.intent.action.BOOT_COMPLETED";@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(ACTION)) {Intent i=new Intent(context,MainActivity.class);i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);}}
}

启动Activity时,一定要添加 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);或 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这是因为Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的任务栈,在新的任务栈中启动新的程序。

静态注册广播

广播有动态注册和静态注册两种,这里需要使用静态注册(在AndroidManifest.xml中注册),这是因为静态注册会再系统开机时自动扫描进行广播注册,无法手动控制,开机一直运行中,而动态注册是通过registerReceiver注册的BroadcastReceiver在对其进行注册的Context对象"销毁"了或者调用了unregisterReceiver方法时也就失效了。

<receiver android:name=".BootBroadcastReceiver"><intent-filter><action android:name="android.intent.action.BOOT_COMPLETED" /></intent-filter>
</receiver>

小米手机权限申请

小米手机在android10.0之后屏蔽了开机自启动和后台弹出界面的权限(安全机制)需要在安装好程序之后在手机的程序应用信息中申请权限
在这里插入图片描述

完成

程序要启动一次之后,开机重启之后便会自动打开程序主页面


http://www.ppmy.cn/news/506195.html

相关文章

小米手机关闭广告

1.设置 &#xff08;&#xff09;→小米账号→声明与条款→系统广告→系统工具广告→关闭 2.设置 &#xff08;&#xff09;→应用设置→应用管理→右上角三个点→设置 &#xff08;&#xff09;→关闭“应用升级提醒”&“资源推荐” 3.桌面左滑打开负一屏→划到底部→设置…

小米洗手机拆解自动关机

吐槽&#xff1a;屋漏偏逢连夜雨&#xff0c;破船恰遇打头风&#xff0c;前几天发工资了竟然还没有上家给的多&#xff08;扣掉各种绩效&#xff09;&#xff0c;让我不禁怀疑自己这段时间都在干啥。从国企出来两年多了&#xff0c;现在刚和两年前工资一样&#xff08;真是讽刺…

第8章 项目整合管理【读书笔记】

第8章 项目整合管理【读书笔记】 ## 8.1 管理基础8.1.1 执行整合 ​ 项目整合管理由项目经理负责&#xff0c;项目经理负责整合所有其它领域的成果&#xff0c;并掌握项目总体情况。项目整合管理的责任不能被授权或转移&#xff0c;项目经理必须对整个项目承担最终责任。整理…

shell编程实验-用户登录状态监测

一、实验目的&#xff1a; 使学生熟悉一种简单的指定用户的监测方法&#xff0c;熟悉UNIX的基本SHELL程序设计方法和使用技巧&#xff0c;包括&#xff1a; &#xff08;1&#xff09;命令行参数检测 &#xff08;2&#xff09;用户变量 &#xff08;3&#xff09;while循环…

达人评测r9 5900hx和i7 12700h差距 r95900hx和i712700h哪个好

i7-12700H采用6大核8小核设计&#xff0c;拥有14核心20线程&#xff0c;主频为2.7GHz&#xff0c;睿频为4.6GHz&#xff0c;三级缓存高达24MB 笔记本cpu选i7 12700h还是r9 5900hx这些点很重要看过你就懂了 http://www.adiannao.cn/dy r9 5900hx采用 Zen 3架构工艺&#xff1a;…

i9 12900KS和12900K区别?i912900KS和i912900K对比评测哪个好

i9 12900KS和i9-12900K大致参数基本差不多&#xff0c;均基于intel 7&#xff08;10nm ESF&#xff09;制程工艺的Alder Lake-S架构&#xff0c;核心为8大核8小核24线程设计&#xff0c;30MB三级缓存&#xff0c;UHD770核显&#xff0c;支持超频等。 组装电脑选i9 12900KS还是1…

J1900 安装以及配置ubuntu18.04(2:smaba、tftp)

安装以及配置ubuntu18.04&#xff08;2&#xff09; 安装smabaubuntu下载安装电脑连接samba 安装tftp下载安装配置tftp开发板测试 tftp问题 安装smaba ubuntu下载安装 下载 sudo apt-get install samba修改配置 sudo vi /etc/samba/smb.conf在末尾添加 [znh] # 名字path …

j1900做网站服务器,j1900可以跟云服务器

j1900可以跟云服务器 内容精选 换一换 可以。平台近期对磁盘功能进行了升级,对于系统升级后创建的弹性云服务器,系统最多支持挂载60块磁盘。具体如下:创建弹性云服务器时,您可以为弹性云服务器添加24块磁盘。弹性云服务器创建成功后,可以最多添加60块磁盘。新创建弹性云服…