Android开机自启动应用开发

目前需要开发一个开机自启动的GTD应用程序来提醒用户的一些重要日程安排,对于这类应用,Android提供了一个BroadcastReceiver组件来对于应用程序的运行环境进行监听,并对于各种事件进行对应的处理。使用BroadcastReceiver十分简单,我们只需要在AndroidManifest.xml或者我们的代码中进行相应的注册(这也是Android开发的两种方式)。这样之后在广播事件到来时,我们就能通过重写BroadcastReceiver的onReceive()方法来执行相应的操作。
    下面简单来演示如何开发开机自启动应用。
1.建立一个名为Boot的Android应用。
  

 
2.简单实现BootActivity的应用界面,在此实现了一个TextView的实例来开机后显示一句话内容。
TextView textView=new TextView(this);
textView.setText("这是一个开机自启动应用程序");
setContentView(textView);
3.创建一个BootBroadcastReveiver的类,实现了抽象类BroadcastReceiver。以下是整个代码。
package com.blessdyb.boot;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class BootBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent bootActivityIntent=new Intent(context,BootActivity.class);
            bootActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(bootActivityIntent);
        }
    }

}
4.在AndroidMenifest.xml中配置Receiver。如下图我们在Android Menifest Application中进行配置。



 
其结果即为如下XML配置(application子目录):
<receiver android:name=".BootBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
    </intent-filter>
</receiver>
5.当然,我们需要对我们的应用进行权限许可,只有通过这种形式才能真正地让我们的应用程序实现开机自启动。我们需要在AndroidMenifext.xml中进行如下配置。



 
配置完成后,会在XML文件中以如下形式显示(menifext子目录)
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/ >

之后,我们就可以对自己的应用程序进行签名,打包手就可以在手机上进行真机测试了。

猜你喜欢

转载自lzhw1985.iteye.com/blog/1990823