最近写的项目,要求在开启平板后,将编写的程序也一并开启
1、首先是发送广播,当收到static final String ACTION="android.intent.action.BOOT_COMPLETED"时,则认为收到开启启动命令
编写类
package com.broad.cn;
import com.herorobot.cn.MainActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootBroadcastReceiver extends BroadcastReceiver{
static final String ACTION="android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
Intent mainActivityIntent=new Intent(context,MainActivity.class);
mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainActivityIntent);
Log.v("TAG", "开机自动启动服务自动启动。。。");
}
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
Intent mainActivityIntent=new Intent(context,MainActivity.class);
mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainActivityIntent);
Log.v("TAG", "开机自动启动服务自动启动。。。");
}
}
}
2、在AndroidManifest.xm中的
<application中添加
<receiver android:name="com.broad.cn.BootBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</receiver>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</receiver>
3、添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在程序中添加以上代码即可,需要注意的是,在android平板启动后,首先进入的是桌面,然后才能打开程序。。。。。这是不完美的地方,希望后期可以修改成开机后自动开启程序,而非进入桌面后才开启程序