如果用户手动启动,则阻止应用程序在启动时启动

时间:2017-10-31 14:16:28

标签: android startup android-broadcastreceiver

我已将我的应用程序设置为在系统启动时启动,它就是这样做的。问题是在显示的主屏幕和我的应用程序之间需要大约 ~30秒才能启动。如果用户不等待,这可能是一个问题。

我的想法是阻止在系统广播消息时重新启动应用程序。如果它已在运行。

所以,基本上,我正在寻找任何一种解决方案:

  • 减少系统启动和应用启动之间的等待时间和/或;
  • 如果邮件已在运行,则阻止在收到邮件时启动应用程序。

第一个主题是我想要实现的东西,但我不控制android何时触发消息。如果我能做到这两点,那就太棒了,但我会选择第二个选项。

我认为没有必要显示这一点,但我已将所有内容设置为清单(即.distinctUntilChanged((a, b) => a.key1 === b.key1 && a.key2 === b.key2); ),这是我的代码,其中BOOT_COMPLETED是我的主要活动(工作代码):

MyNamedActivity

注意:删除@Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED) && AppController.getUsuarioLogado() == null) { Intent i = new Intent(context, MyNamedActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } 行会导致应用获利。

0 个答案:

没有答案