`
雨打蕉叶
  • 浏览: 236410 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android应用开机自动启动

 
阅读更多

背景知识:当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应用开机自启动

    总结,通过上述步骤,我们可以实现一个简单的Android应用开机自启动功能。理解并掌握广播接收器的工作机制以及开机广播ACTION_BOOT_COMPLETED的应用,对于Android开发者来说是非常重要的,它可以帮助我们实现许多...

    Android 开机自启动应用

    在Android系统中,开机自启动应用是指当设备完成启动过程后,系统会自动运行的一类应用程序。这些应用通常会在用户无须手动干预的情况下执行特定任务,例如同步数据、推送通知或者进行后台服务的初始化。"BOOT_...

    Android应用开机自启动

    下面将详细介绍如何在Android应用中实现开机自启动以及可能遇到的问题。 1. **广播接收器(BroadcastReceiver)** 开机自启动的关键在于创建一个`BroadcastReceiver`,它会监听到系统的`ACTION_BOOT_COMPLETED`...

    【Android】开机自启动2

    通过理解以上知识点,开发者可以有效地实现Android应用的开机自启动功能,但同时也需要注意系统的限制和用户的需求,以提供更好的用户体验。在提供的压缩包Etzmico_AutoRun2中,可能包含了实现这一功能的完整代码...

    Android应用开机时自动启动

    本篇将深入讲解如何实现Android应用的开机自启动,并提供一个名为BootupDemo的示例代码作为参考。 首先,理解Android系统的启动流程是关键。当设备开机或恢复到激活状态时,系统会执行一系列初始化操作,其中包括...

    【Android】开机自启动

    在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动,无需用户手动操作。这通常涉及到Android系统的广播接收器(BroadcastReceiver)和权限设置。下面将详细讲解Android开机自...

    delphi ex10 android 实现开机自启动

    标题中的"Delphi EX10 Android 实现开机自启动"是指使用Embarcadero Delphi XE10(也称为 RAD Studio XE10)开发的Android应用程序,目的是使其能够在设备启动时自动运行。这个过程涉及到Android系统的权限管理和...

    安卓开机自动启动应用程序

    本教程将详细讲解如何实现安卓开机自动启动应用程序,以及涉及到的相关知识点。 首先,我们需要理解安卓系统的启动流程。在安卓设备开机时,系统会启动一个名为"SystemServer"的进程,它负责初始化系统服务和启动...

    android应用程序开机启动

    Android应用程序可以实现开机时启动相关应用 如service等 Android系统在开机启动时会发出一个系统广播&quot;android intent action BOOT COMPLETED&quot; 在接收到这个广播就可以实现开机自启动功能 下面就是一个...

    Android实现开机自动启动Service或app的方法

    本文实例讲述了Android实现开机自动启动Service或app的方法。分享给大家供大家参考,具体如下: 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动...

    Android service开机自动启动

    本项目"Android service开机自动启动"提供了一个示例,演示了如何创建这样的服务,并确保其在Android 4.0(Ice Cream Sandwich)及更高版本上完美运行。 一、服务基础 1. 创建服务:首先,你需要创建一个继承自`...

    android实现开机自启动以及后台运行

    在Android平台上,实现应用的开机自启动和后台运行是一项常见的需求,这通常涉及到服务(Service)、广播接收器(BroadcastReceiver)以及系统权限的管理。在本文中,我们将深入探讨如何在Android 2.1及以上版本中...

    Android8.1-如何开机自启动WiFi-Adb连接.pdf

    开机自启动 WiFi-Adb 连接服务可以使得 Android 设备在开机后自动启动 WiFi-Adb 连接服务,从而实现无线连接和调试。 实现开机自启动 WiFi-Adb 连接服务需要三个步骤:编写脚本、编译脚本到系统中和配置 init.rc ...

    unity打包安卓实现开机自启

    unity打包安卓实现安卓应用开机自启。使用方法:把"安卓开机自动.arr"文件导入到unity项目中,或者根据习惯放在Plugins/Android目录下面。打包成功后安装到手机运行后重启手机,手机重启后等待1-2分钟该应用即可自己...

    安卓电视盒子设置开机自动启动应用软件

    - **安全风险**:允许应用开机自启动可能会增加设备的内存占用和电量消耗,甚至可能带来安全隐患,如恶意软件的自动启动。因此,只应开启确实需要的服务和应用。 - **系统更新**:系统更新可能会重置自启动设置,...

    android开机自启动APP及使用adb命令测试方法

    android开机自动运行APP实现方式其实很简单。在android系统运行时,会发出“android.intent.action.BOOT_COMPLETED”这个系统广播,因此我们监听它,并进行打开APP的操作即可。现在大多数的android手机系统都默认...

    【Android】开机自启动Service

    在Android系统中,Service是一种可以在后台长时间运行的组件,它不提供...以上就是关于Android开机自启动Service的实现细节,理解并掌握这些知识点对于开发者来说至关重要,特别是在设计需要在后台持续运行的应用时。

    Android软件开机自启动简单Demo

    在Android系统中,让应用程序在设备...通过这个简单的Demo,初学者可以快速理解Android应用开机自启动的基本原理和实现方法。在实际项目中,根据需求,你可以在此基础上扩展更多的功能,如定时任务、后台数据同步等。

    android 开机启动自己的应用

    在Android系统中,开机启动自己的应用是一项常见的需求,比如实现后台服务、定时任务或自动更新等功能。本篇文章将深入探讨如何让应用在Android设备启动时自动运行,并分享一个名为"MyLauncher"的示例项目。 首先,...

Global site tag (gtag.js) - Google Analytics