|
目前需要开发一个开机自启动的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"/ >
之后,我们就可以对自己的应用程序进行签名,打包手就可以在手机上进行真机测试了。 |
|