【问题标题】:Is it possible to close an android app by sending a Firebase notification? If yes, how?是否可以通过发送 Firebase 通知来关闭 android 应用程序?如果是,如何?
【发布时间】:2016-10-06 12:16:31
【问题描述】:

我有一个 android 应用程序,如果它在后台打开,我想通过发送通知来关闭它。这可能吗。如果是,怎么做?

【问题讨论】:

  • 从技术上讲,这是可能的。但是,我认为一些 Android 指南说您不应该从代码中明确关闭您的应用程序。请参阅有关主题 here 的讨论。

标签: android firebase android-notifications firebase-cloud-messaging firebase-notifications


【解决方案1】:

可以在here 找到处理通知的完整 FCM 代码的实现。在这里复制所有内容没有意义,只需遵循官方指南即可。

然后,在您的处理程序中只需执行 System.exit(0);

【讨论】:

  • system.exit(0) 不是关闭应用程序,而是强制停止应用程序。
  • 是的,替代方案是:跟踪所有活动和.finish() 它们,或使用moveTaskToBack(true); 将应用程序移至后台(我知道这不是您打算做的)
  • 关闭应用程序到底是什么意思?关闭所有活动?
【解决方案2】:

是的,检查通知字符串,如果是真的应用程序关闭

if(stringFromFirebase.equals("close_app")) {
        System.exit(0);
}

【讨论】:

  • 我试过了,但不是关闭应用程序,system.exit(0) 是强制停止我不想要的应用程序..
  • 添加;永远不要(我的意思是永远不要)将字符串的值与“==”进行比较。始终使用equals
  • @milanm 您可以改用finish()。这才是正确的“Android方式”。
  • @milanm 如果应用在后台,您想通过远程关闭后台吗?
【解决方案3】:

试试这个,它会杀死整个应用进程。

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多