1 核心就是设置监听器
package dfzy.EX049;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/* 捕捉android.intent.action.BOOT_COMPLETED的Receiver类 */
public class IntentReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
/* 当收到Receiver时,指定打开此程序(EX06_16.class) */
Intent mBootIntent = new Intent(context, EX049.class);
/* 设置Intent打开为FLAG_ACTIVITY_NEW_TASK */
mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
/* 将Intent以startActivity传送给操作系统 */
context.startActivity(mBootIntent);
}
}
2 主配置文件
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="dfzy.EX049"
android:versionCode="1"
android:versionName="1.0.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<activity
android:name="dfzy.EX049.EX049"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 用receiver名作为类名 -->
<receiver android:name="dfzy.EX049.IntentReceiver" >
<!-- 在filter中设定BOOT_COMPLETED为要捕获的信息 -->
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</application>
</manifest>
3