資源簡介
android5.0及以上,通過包名判斷是否在運行,不需要用戶授權

代碼片段和文件信息
/*
?*?Copyright?(C)?2015.?Jared?Rummler?
?*
?*?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.
?*
?*/
package?com.lstn.protect2_1.runningProcess;
import?java.io.File;
import?java.io.IOException;
import?android.content.Context;
import?android.content.pm.PackageInfo;
import?android.content.pm.PackageManager;
import?android.os.Build;
import?android.os.Parcel;
public?class?AndroidAppProcess?extends?AndroidProcess?{
????private?static?final?boolean?SYS_SUPPORTS_SCHEDGROUPS?=?new?File(“/dev/cpuctl/tasks“).exists();
????/**
?????*?{@code?true}?if?the?process?is?in?the?foreground
?????*/
????public?final?boolean?foreground;
????/**
?????*?The?user?id?of?this?process.
?????*/
????public?final?int?uid;
????public?AndroidAppProcess(int?pid)?throws?IOException?NotAndroidAppProcessException?{
????????super(pid);
????????final?boolean?foreground;
????????int?uid;
????????if?(SYS_SUPPORTS_SCHEDGROUPS)?{
????????????Cgroup?cgroup?=?cgroup();
????????????ControlGroup?cpuacct?=?cgroup.getGroup(“cpuacct“);
????????????ControlGroup?cpu?=?cgroup.getGroup(“cpu“);
????????????if?(Build.VERSION.SDK_INT?>=?21)?{//Build.VERSION_CODES.LOLLIPOP
????????????????if?(cpu?==?null?||?cpuacct?==?null?||?!cpuacct.group.contains(“pid_“))?{
????????????????????throw?new?NotAndroidAppProcessException(pid);
????????????????}
????????????????foreground?=?!cpu.group.contains(“bg_non_interactive“);
????????????????try?{
????????????????????uid?=?Integer.parseInt(cpuacct.group.split(“/“)[1].replace(“uid_“?““));
????????????????}?catch?(Exception?e)?{
????????????????????uid?=?status().getUid();
????????????????}
????????????????ProcessManager.log(“name=%s?pid=%d?uid=%d?foreground=%b?cpuacct=%s?cpu=%s“
????????????????????????name?pid?uid?foreground?cpuacct.toString()?cpu.toString());
????????????}?else?{
????????????????if?(cpu?==?null?||?cpuacct?==?null?||?!cpu.group.contains(“apps“))?{
????????????????????throw?new?NotAndroidAppProcessException(pid);
????????????????}
????????????????foreground?=?!cpu.group.contains(“bg_non_interactive“);
????????????????try?{
????????????????????uid?=?Integer.parseInt(cpuacct.group.substring(cpuacct.group.lastIndexOf(“/“)?+?1));
????????????????}?catch?(Exception?e)?{
????????????????????uid?=?status().getUid();
????????????????}
????????????????ProcessManager.log(“name=%s?pid=%d?uid=%d?foreground=%b?cpuacct=%s?cpu=%s“
????????????????????????name?pid?uid?foreground?cpuacct.toString()?cpu.toString());
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-02-07?16:09??protect-2.1-src\
?????文件????????6181??2017-02-07?15:22??protect-2.1-src\AndroidAppProcess.java
?????文件???????27461??2017-02-07?15:14??protect-2.1-src\AndroidProcess.java
?????文件????????2993??2017-02-07?15:14??protect-2.1-src\Cgroup.java
?????文件????????2041??2017-02-07?15:14??protect-2.1-src\ControlGroup.java
?????文件????????9438??2017-02-07?15:22??protect-2.1-src\ProcessManager.java
?????文件????????2431??2017-02-07?15:14??protect-2.1-src\ProcFile.java
?????文件???????22572??2017-02-07?15:14??protect-2.1-src\Stat.java
?????文件????????2644??2017-02-07?15:14??protect-2.1-src\Statm.java
?????文件????????6970??2017-02-07?15:14??protect-2.1-src\Status.java
?????文件???????23930??2019-03-30?10:08??protect-2.1.jar
?????文件???????14964??2019-03-30?10:31??使用.docx
- 上一篇:jsp登陸界面模板
- 下一篇:重慶大學java語言程序設計模擬試題
評論
共有 條評論