package com.basic.security.service; import android.app.ActivityManager; import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.support.annotation.Nullable; import android.text.TextUtils; import com.basic.security.manager.NodeNameManager; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.List; public class NodeNameService extends Service { private static final String TAG = "KeepLifeService"; private String mPackName; private ActivityManager mActivityManager; /** * 获取当前进程名称 * * @return */ public static String getProcessName() { try { File file = new File("/proc/" + android.os.Process.myPid() + "/" + "cmdline"); BufferedReader mBufferedReader = new BufferedReader(new FileReader(file)); String processName = mBufferedReader.readLine().trim(); mBufferedReader.close(); return processName; } catch (Exception e) { e.printStackTrace(); return null; } } /** * 进程是否存活 * * @return */ public static boolean isRunningProcess(ActivityManager manager, String processName) { if (manager == null) return false; List runnings = manager.getRunningAppProcesses(); if (runnings != null) { for (ActivityManager.RunningAppProcessInfo info : runnings) { if (TextUtils.equals(info.processName, processName)) { return true; } } } return false; } @Override public void onCreate() { super.onCreate(); mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); String process = getProcessName(); mPackName = getPackageName(); NodeNameManager.start(); } @Nullable @Override public IBinder onBind(Intent intent) { return null; } }