【问题标题】:Managing background running processes管理后台运行进程
【发布时间】:2019-06-25 09:53:23
【问题描述】:

我正在尝试在移动屏幕关闭时冻结后台运行的进程,并且当屏幕启动时进程应在较低的 android 版本中自动重新启动。但是我找不到任何代码来实现这个功能。所以如果有人知道这个,请帮忙。

【问题讨论】:

  • 不在通知栏中显示任何通知。我会自动被机器人杀死。如果您立即杀死,请按照@Juan Sancho 的回答创建一个广播并终止您的服务。
  • 如果您仍然卡住,请告诉我

标签: android


【解决方案1】:

试试这个:)

IntentFilter intentFilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            //Stop your service
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            // Start your service
        }
    }
}, intentFilter);

【讨论】:

    【解决方案2】:

    您可以使用stopService(intent);在活动生命周期的onStop()方法中停止您的后台服务,然后使用startService(intent);在活动生命周期的onResume()方法中再次启动您的后台服务

    【讨论】:

    • 感谢您的建议,但我想冻结所有后台运行进程,包括其他正在运行的应用程序进程
    • 您无法控制其他应用运行进程。
    • 我可以在较低的android版本中实现这个吗?
    • 我的意思是我可以停止其他应用程序在较低版本的android中运行进程
    • 正如我所说,您无法控制其他应用程序的运行进程。
    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 2011-05-30
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多