背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字
符串常量表示为 android.intent.action.BOOT_COMPLETED。只要在程序中“捕捉”到这个消息,再启动之
即可。记住,Android框架说:Don''t call me, I''ll call you back。我们要做的是做好接收这个消息的准备,而
实现的手段就是实现一个BroadcastReceiver。
1、界面Activity,BootStartDemo.java文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class BootStartDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
// 无title
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 全屏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
new Thread() {
public void run() {
try {
/* 8秒后关闭页面*/
sleep( 10000 );
} catch (Exception e) {
e.printStackTrace();
} finally {
finish(); // 关闭页面
}
}
}.start();
}
} |
这段代码很简单,当Activity 启动时,会显示TextView,用它显示你想显示的字样,并且这个页面只显示10秒后消失。
2、接收广播消息:BootBroadcastReceiver.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class BootBroadcastReceiver extends BroadcastReceiver {
static final String action_boot= "android.intent.action.BOOT_COMPLETED" ;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(action_boot)){
Intent ootStartIntent= new Intent(context,BootStartDemo. class );
ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(ootStartIntent);
}
}
} |
该类继续自 BroadcastReceiver,覆载方法 onReceive 中,检测接收到的 Intent 是否符合
BOOT_COMPLETED,如果符合,则启动BootStartDemo这个Activity。
3、配置文件
(1)AndroidManifest.xml :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?xml version= "1.0" encoding= "utf-8" ?>
<!-- 这是一个开机自启动程序 --> <manifest xmlns:android= "http://schemas.android.com/apk/res/android"
package = "com.ajie.bootstartdemo"
android:versionCode= "1"
android:versionName= "1.0" >
<application android:icon= "@drawable/icon" android:label= "@string/app_name" >
<activity android:name= ".BootStartDemo"
android:label= "@string/app_name" >
<intent-filter>
<action android:name= "android.intent.action.MAIN" />
<category android:name= "android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<span style= "color: #ff00ff;" ><receiver android:name= ".BootBroadcastReceiver" >
<intent-filter>
<action android:name= "android.intent.action.BOOT_COMPLETED" />
<category android:name= "android.intent.category.HOME" />
</intent-filter>
</receiver>
</span> </application> <span style= "color: #ff00ff;" ><strong><uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" ></uses-permission></strong>
</span></manifest> |
注意其中颜色标红那一部分,该节点向系统注册了一个 receiver,子节点 intent-filter 表示接收
android.intent.action.BOOT_COMPLETED 消息。并且还要配置android.permission.RECEIVE_BOOT_COMPLETED权限。
(2)Layout文件,main.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout xmlns: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应用开机自启动功能。理解并掌握广播接收器的工作机制以及开机广播ACTION_BOOT_COMPLETED的应用,对于Android开发者来说是非常重要的,它可以帮助我们实现许多...
在Android系统中,开机自启动应用是指当设备完成启动过程后,系统会自动运行的一类应用程序。这些应用通常会在用户无须手动干预的情况下执行特定任务,例如同步数据、推送通知或者进行后台服务的初始化。"BOOT_...
下面将详细介绍如何在Android应用中实现开机自启动以及可能遇到的问题。 1. **广播接收器(BroadcastReceiver)** 开机自启动的关键在于创建一个`BroadcastReceiver`,它会监听到系统的`ACTION_BOOT_COMPLETED`...
通过理解以上知识点,开发者可以有效地实现Android应用的开机自启动功能,但同时也需要注意系统的限制和用户的需求,以提供更好的用户体验。在提供的压缩包Etzmico_AutoRun2中,可能包含了实现这一功能的完整代码...
本篇将深入讲解如何实现Android应用的开机自启动,并提供一个名为BootupDemo的示例代码作为参考。 首先,理解Android系统的启动流程是关键。当设备开机或恢复到激活状态时,系统会执行一系列初始化操作,其中包括...
在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动,无需用户手动操作。这通常涉及到Android系统的广播接收器(BroadcastReceiver)和权限设置。下面将详细讲解Android开机自...
标题中的"Delphi EX10 Android 实现开机自启动"是指使用Embarcadero Delphi XE10(也称为 RAD Studio XE10)开发的Android应用程序,目的是使其能够在设备启动时自动运行。这个过程涉及到Android系统的权限管理和...
本教程将详细讲解如何实现安卓开机自动启动应用程序,以及涉及到的相关知识点。 首先,我们需要理解安卓系统的启动流程。在安卓设备开机时,系统会启动一个名为"SystemServer"的进程,它负责初始化系统服务和启动...
Android应用程序可以实现开机时启动相关应用 如service等 Android系统在开机启动时会发出一个系统广播"android intent action BOOT COMPLETED" 在接收到这个广播就可以实现开机自启动功能 下面就是一个...
本文实例讲述了Android实现开机自动启动Service或app的方法。分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动...
本项目"Android service开机自动启动"提供了一个示例,演示了如何创建这样的服务,并确保其在Android 4.0(Ice Cream Sandwich)及更高版本上完美运行。 一、服务基础 1. 创建服务:首先,你需要创建一个继承自`...
在Android平台上,实现应用的开机自启动和后台运行是一项常见的需求,这通常涉及到服务(Service)、广播接收器(BroadcastReceiver)以及系统权限的管理。在本文中,我们将深入探讨如何在Android 2.1及以上版本中...
开机自启动 WiFi-Adb 连接服务可以使得 Android 设备在开机后自动启动 WiFi-Adb 连接服务,从而实现无线连接和调试。 实现开机自启动 WiFi-Adb 连接服务需要三个步骤:编写脚本、编译脚本到系统中和配置 init.rc ...
unity打包安卓实现安卓应用开机自启。使用方法:把"安卓开机自动.arr"文件导入到unity项目中,或者根据习惯放在Plugins/Android目录下面。打包成功后安装到手机运行后重启手机,手机重启后等待1-2分钟该应用即可自己...
- **安全风险**:允许应用开机自启动可能会增加设备的内存占用和电量消耗,甚至可能带来安全隐患,如恶意软件的自动启动。因此,只应开启确实需要的服务和应用。 - **系统更新**:系统更新可能会重置自启动设置,...
android开机自动运行APP实现方式其实很简单。在android系统运行时,会发出“android.intent.action.BOOT_COMPLETED”这个系统广播,因此我们监听它,并进行打开APP的操作即可。现在大多数的android手机系统都默认...
在Android系统中,Service是一种可以在后台长时间运行的组件,它不提供...以上就是关于Android开机自启动Service的实现细节,理解并掌握这些知识点对于开发者来说至关重要,特别是在设计需要在后台持续运行的应用时。
在Android系统中,让应用程序在设备...通过这个简单的Demo,初学者可以快速理解Android应用开机自启动的基本原理和实现方法。在实际项目中,根据需求,你可以在此基础上扩展更多的功能,如定时任务、后台数据同步等。
在Android系统中,开机启动自己的应用是一项常见的需求,比如实现后台服务、定时任务或自动更新等功能。本篇文章将深入探讨如何让应用在Android设备启动时自动运行,并分享一个名为"MyLauncher"的示例项目。 首先,...