我已经实现了一个Autostart.java类,它允许我的应用程序在启动后启动。我希望应用程序在手机启动后最小化/在后台运行,并且只有当用户点击应用程序图标时才会最大化。我正在使用此代码进行自动启动:
public class Autostart extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
如果不覆盖后退按钮,我无法实现此代码:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
答案 0 :(得分:1)
您完成了广播接收器,但您必须实施服务才能运行后台任务。
查看Google的官方入门教程:https://developer.android.com/guide/components/services.html。 您还可以查看此帖子,以了解有关如何在启动后启动服务的更多信息:Android -Starting Service at Boot Time
答案 1 :(得分:1)
我创建了一个ActivityMinimizelike:
public class ActivityMinimize extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startActivity(new Intent(ActivityMinimize.this, MainActivity.class));
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
}
我从Autostart类调用此活动。效果很好!