因为我的项目大部分是在工业机运行,而工业机的Rom相对版本比较低,权限也都给的很足。因此也不需要过多的设置,就将最基本的代码贴一下。
一、开机启动
1.创建一个广播接受者BroadcastReceiver类
这个类是被创建在了.receiver包中的 ,在 下一步的 广播注册 部分会被使用
public class AutoStartBroadReceiver extends BroadcastReceiver {
private static final String ACTION = "android.intent.action.BOOT_COMPLETED";
@Override
public void onReceive(Context context, Intent intent) {
Log.e("接收广播", "onReceive: ");
Log.e("接收广播", "onReceive: " + intent.getAction());
//开机启动
if (ACTION.equals(intent.getAction())) {
Log.e("接收广播", "onReceive: 启动了。。。");
//第一种方式:根据包名
// PackageManager packageManager = context.getPackageManager();
// Intent mainIntent = packageManager.getLaunchIntentForPackage("com.harry.martin");
// mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// context.startActivity(mainIntent);
// context.startService(mainIntent);
//第二种方式:指定class类,跳转到相应的Acitivity
Intent mainIntent = new Intent(context, LoginActivity.class);
/**
* Intent.FLAG_ACTIVITY_NEW_TASK
* Intent.FLAG_ACTIVITY_CLEAR_TOP
*/
mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainIntent);
// context.startService(mainIntent);
}
}
}
版权声明:本文为CSDN博主「拉莫帅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chen_md/article/details/123370779
上面的代码中 定义的常量 建议使用 甚至不用定义,直接使用 Intent.ACTION_BOOT_COMPLETED;
就好。