Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright (C) 2012 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import android.app.ActivityManager;

import android.content.Context;

import java.lang.reflect.Method;

public class Main {

    public static void killProcesses(Context context, int pid, String processName) {
        /*String cmd = "kill -9 "+pid;
        Process process = null;
        DataOutputStream os = null;
        try {
          process = Runtime.getRuntime().exec("su"); 
          os = new DataOutputStream(process.getOutputStream());
          os.writeBytes(cmd + "\n");
          os.writeBytes("exit\n");
          os.flush();
          process.waitFor();
        } catch (Exception e) {
          e.printStackTrace();
        }
        AbLogUtil.d(AbAppUtil.class, "#kill -9 "+pid);*/

        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        String packageName = null;
        try {
            if (processName.indexOf(":") == -1) {
                packageName = processName;
            } else {
                packageName = processName.split(":")[0];
            }

            activityManager.killBackgroundProcesses(packageName);

            //
            Method forceStopPackage = activityManager.getClass().getDeclaredMethod("forceStopPackage",
                    String.class);
            forceStopPackage.setAccessible(true);
            forceStopPackage.invoke(activityManager, packageName);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}