Android开机自启动程序详解
2023-06-13 09:15:02 时间
背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字
符串常量表示为android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之
即可。记住,Android框架说:Don""tcallme,I""llcallyouback。我们要做的是做好接收这个消息的准备,而
实现的手段就是实现一个BroadcastReceiver。
1、界面Activity,BootStartDemo.java文件
复制代码代码如下:
符串常量表示为android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之
即可。记住,Android框架说:Don""tcallme,I""llcallyouback。我们要做的是做好接收这个消息的准备,而
实现的手段就是实现一个BroadcastReceiver。
publicclassBootStartDemoextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//无title
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
newThread(){
publicvoidrun(){
try{
/* 8秒后关闭页面*/
sleep(10000);
}catch(Exceptione){
e.printStackTrace();
}finally{
finish();//关闭页面
}
}
}.start();
}
}
这段代码很简单,当Activity启动时,会显示TextView,用它显示你想显示的字样,并且这个页面只显示10秒后消失。
publicclassBootBroadcastReceiverextendsBroadcastReceiver{
staticfinalStringaction_boot="android.intent.action.BOOT_COMPLETED";
@Override
publicvoidonReceive(Contextcontext,Intentintent){
if(intent.getAction().equals(action_boot)){
IntentootStartIntent=newIntent(context,BootStartDemo.class);
ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(ootStartIntent);
}
}
}
该类继续自BroadcastReceiver,覆载方法onReceive中,检测接收到的Intent是否符合
BOOT_COMPLETED,如果符合,则启动BootStartDemo这个Activity。
(1)AndroidManifest.xml:
<?xmlversion="1.0"encoding="utf-8"?>
<!--这是一个开机自启动程序-->
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.ajie.bootstartdemo"
android:versionCode="1"
android:versionName="1.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".BootStartDemo"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<SPANstyle="COLOR:#ff00ff"><receiverandroid:name=".BootBroadcastReceiver">
<intent-filter>
<actionandroid:name="android.intent.action.BOOT_COMPLETED"/>
<categoryandroid:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>
</SPAN> </application>
<SPANstyle="COLOR:#ff00ff"><STRONG><uses-permissionandroid:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission></STRONG>
</SPAN></manifest>
注意其中颜色标红那一部分,该节点向系统注册了一个receiver,子节点intent-filter表示接收
(2)Layout文件,main.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/boottext"
android:textColor="#5F2DD2"
android:background="#FFFFFF"
android:textSize="60px"
android:gravity="center_horizontal"
/>
</LinearLayout>
完成后,编译出apk包,安装到模拟器或手机中。关机,重新开机,就会显示BootStartDemo这个Activity显示出来的页面。
相关文章
- android studio不能输入中文_Android模拟器
- Android Automotive OTA概念
- android系统开机画面_Android开机画面
- android autosize原理,Android屏幕适配头条:autosize的原理
- Android 基于TCP的 Socket 编程实现(结合 okio)
- mac 电脑android环境变量设置,mac上Android环境变量配置[通俗易懂]
- android sdk manager安装,Android SDK Manager安装过程
- android declare-styleable 和style,Android 关于declare-styleable属性的写法….
- android-短信验证功能,Android实现获取短信验证码的功能以及自定义GUI短信验证详解…
- android 定时器实例,Android定时器和Handler用法实例分析
- android短信验证码代码,Android短信验证码自动填写实现代码
- 【Android布局】在程序中设置android gravity 和 android layout Gravity属性
- 【Android 插件化】插件化技术弊端 ( 恶意插件化程序的解决方向 | 常用的插件化虚拟引擎 )
- 【Android 逆向】ELF 文件格式 ( ELF 程序头入口大小 | ELF 程序头入口个数 | ELF 文件节区头入口大小 | ELF 文件节区头入口个数 | 字符表序号 )
- 【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
- Android实现两次点击后退键退出程序详解手机开发
- Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件详解手机开发
- Android开发中遇到的问题(二)——新建android工程的时候eclipse没有生成MainActivity和layout布局详解手机开发
- [android] 请求码和结果码的作用详解手机开发
- android程序崩溃后重启详解手机开发
- Android Studio 导入项目 出现安装Error:Cause: failed to find target with hash string ‘android-23’ 等错误详解手机开发
- android版本检测Android程序的版本检测与更新实现介绍
- android如何添加桌面图标和卸载程序后自动删除图标
- Android如何收集已发布程序的崩溃信息
- Android中Java和JavaScript交互实例
- Android中程序的停止状态详细介绍