【问题标题】:Kill another app and all its services programmatically in android在android中以编程方式杀死另一个应用程序及其所有服务
【发布时间】:2018-09-24 21:20:41
【问题描述】:

我正在创建一个应用程序,它会在用户接到电话时打开另一个应用程序,并在电话结束时关闭该应用程序。

这是我的代码:

public class MyPhoneReceiver extends BroadcastReceiver {

@Override
public void onReceive( Context context, Intent intent ) {
    final String PROXIMITY_SERVICE_PACKAGE_NAME = "package_name";

    Bundle extras = intent.getExtras();
    String state = extras.getString( TelephonyManager.EXTRA_STATE );

    if (state.equals( TelephonyManager.EXTRA_STATE_RINGING ) ) {
        PackageManager packageManager = context.getPackageManager();
        context.startActivity( packageManager.getLaunchIntentForPackage(
                PROXIMITY_SERVICE_PACKAGE_NAME ) );
    }

    if ( state.equals(TelephonyManager.EXTRA_STATE_IDLE ) ) {
        killProcess(context, PROXIMITY_SERVICE_PACKAGE_NAME);
    }
}

killProcess方法目前是这样实现的:

private void killProcess(Context context, String packageName)
{
    ActivityManager am = (ActivityManager)context.getSystemService(Activity.ACTIVITY_SERVICE);
    am.killBackgroundProcesses(packageName);
}

我还请求允许在清单中终止后台应用程序:

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

应用程序的打开工作正常,但应用程序的关闭不工作。 我知道我在 killProcess 中找到了代码,但它不会杀死应用程序。 这是权限问题吗?我不允许杀死另一个进程吗?甚至没有我创建的过程?

或者,根据我对正在运行的进程的了解,它创建了一个服务来为它完成所有工作。也许问题是服务没有终止?

是否有任何方法可以终止此进程以及与之相关的所有服务和子进程(例如,当您在设置中执行 FORCE STOP 时)?

谢谢。

【问题讨论】:

  • 除了你自己的之外,你无法杀死任何其他应用程序进程。

标签: android android-lifecycle kill-process


【解决方案1】:

是的,你可以杀死任何进程。

  1. 查找应用进程 ID
  2. 杀了它。

获得应用进程 ID 后,只需传入此函数即可:

Process.killProcess( APP-PROCESS-ID )

注意进程类,应该是从Android导入的:

import android.os.Process

如果你知道应用的包名也可以试试这个:

ActivityManager am = (ActivityManager)
getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
am.killBackgroundProcesses("app-package-name");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多