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文件

public class BootStartDemo extends Activity
{

    

    @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
{

                    

                    sleep(10000);

                }
catch (Exception e) {

                    e.printStackTrace();

                }
finally {

                    finish();
// 关闭页面

                }

            }

        }.start();

 

    }

}



这段代码很简单,当Activity
启动时,会显示TextView,用它显示你想显示的字样,并且这个页面只显示10秒后消失。

2、接收广播消息:BootBroadcastReceiver.java

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 :

<?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

<?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显示出来的页面。

时间: 2024-09-19 08:17:46

Android开机自启动程序的相关文章

Android开机自启动程序详解_Android

背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为 android.intent.action.BOOT_COMPLETED.只要在程序中"捕捉"到这个消息,再启动之即可.记住,Android框架说:Don''t call me, I''ll call you back.我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver.1.界面Activity,BootStartDe

Android开机自启动程序详解

背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字 符串常量表示为 android.intent.action.BOOT_COMPLETED.只要在程序中"捕捉"到这个消息,再启动之 即可.记住,Android框架说:Don''t call me, I''ll call you back.我们要做的是做好接收这个消息的准备,而 实现的手段就是实现一个BroadcastReceiver. 1.界面Activity,BootSta

程序-android 开机自启动问题 急求

问题描述 android 开机自启动问题 急求 为什么同一个设备 同一个程序 开机自启动时灵时不灵呢?要疯了 解决方案 调试下可能在自启动下有异常出现 解决方案二: 一般回事什么异常 关键是有时是可以启动的 偶尔会不启动 解决方案三: 我个人觉得是那个可以使用的那个软件可以进行设置,或者的话使用电脑管家也可以设置,这是我的经验 解决方案四: 你设置一下启动的优先级别看看 让它晚一点启动

Android开机自启动应用

Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 "android.intent.action.BOOT_COMPLETED" 开机自启动程序,只需要"捕捉"到这个消息再启动你的程序即可,我们要做的是接收这个消息,并实现一个BroadcastReceiver. 1 xml 配置 在AndroidManifest.xml中Application节点内,添加自定义的广播类: <receiver androi

测试-Android开机自启动启动不起来,急急急急求帮助

问题描述 Android开机自启动启动不起来,急急急急求帮助 代码如下: 广播: import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class BootBroadcastReceiver extends BroadcastReceiver { static final String ACTION = "android.int

Android开机自启动服务的实现方法_Android

android实现开机自启动可能是移动操作系统中最简单的了,我们只需要监听一个开机启动的Broadcast(广播)即可.首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下所示: view source print? 复制代码 代码如下: public class BootReceiver extends BroadcastReceiver { private PendingIntent mAlarmSender; @Override public void

android开机自启动原理与实现案例(附源码)_Android

原理: Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息. Android系统为应用程序管理功能提供了大量的API,通过配置Intent和permission来实现各种功能. 开机自启动是通过 <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="an

android开机自启动原理与实现案例(附源码)

原理: Android系统通过应用程序自行在系统中登记注册事件(即Intent)来响应系统产生的各类消息. Android系统为应用程序管理功能提供了大量的API,通过配置Intent和permission来实现各种功能. 开机自启动是通过 <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="an

Android开机自启动服务的实现方法

android实现开机自启动可能是移动操作系统中最简单的了,我们只需要监听一个开机启动的Broadcast(广播)即可.首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下所示: view source print?复制代码 代码如下: public class BootReceiver extends BroadcastReceiver { private PendingIntent mAlarmSender; @Override public void o