开机自动启动app的实现是比较简单的,监听一个开机广播即可。当监听到开机广播后打开想要启动的app即可,具体实现如下:
1. 创建广播接收器:BootBroadcastReceiver。
package cn.studyou.autoopenapp;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
/**
* 基本功能:开机自动启动APP
* 创建:王杰
* 创建时间:16/7/22
* 邮箱:w489657152@gmail.com
*/
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)) {
final Intent mainActivityIntent = new Intent(context, MainActivity.class); // 要启动的Activity
mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
final Context mContext = context;
new Handler().postDelayed(new Runnable(){
public void run() {
mContext.startActivity(mainActivityIntent);
}
}, 10000);
}
}
}
2. 在application声明Receiver。
<receiver android:name=".BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
3. 声明权限。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
4. 特殊说明:
1) Apk需要设置默认安装到手机内存,外设SD卡是接收不到开机广播,这里只针对安装位置为手机内存的app。
2)小米手机收不到开机广播的处理办法:系统与安全文件夹--->安全中心--->授权管理--->自启动管理--->对本App添加自启动授权