在引导时自动启动后最小化应用程序

时间:2015-12-17 12:43:35

标签: android

我已经实现了一个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);

2 个答案:

答案 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类调用此活动。效果很好!