Delphi Android ActivityManager

Delphi Android ActivityManagerwait…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ActivityManager:   对Activity交互提供了接口, 利用它可以方便的对Memory, Processes, Task, Service 等进行管理,. 这里对Delphi接口进行了翻译,详细信息可以访问官方网站

{
  android.app.ActivityManager imported by flcop(zylove619@hotmail.com)
}

unit Androidapi.JNI.ActivityManager;

interface

uses
  System.SysUtils,
  FMX.Helpers.Android,
  Androidapi.JNI.JavaTypes,
  Androidapi.JNIBridge,
  Androidapi.JNI.GraphicsContentViewText,
  Androidapi.JNI.Os,
  Androidapi.JNI.App;

type

{ Class forward declarations }
  JDebug_MemoryInfo = interface;
  JActivityManager_MemoryInfo = interface;
  JActivityManager_ProcessErrorStateInfo = interface;
  JActivityManager_RecentTaskInfo = interface;
  JActivityManager_RunningAppProcessInfo = interface;
  JActivityManager_RunningServiceInfo = interface;
  JActivityManager_RunningTaskInfo = interface;
  JActivityManager = interface;

{ http://developer.android.com/reference/android/os/Debug.MemoryInfo.html
  Added in API level 1 }
  JDebug_MemoryInfoClass = interface(JObjectClass)
  ['{E7545CF8-CFF5-40EE-9082-380FA48C4464}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    { Methods }
    function init: JDebug_MemoryInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
  end;

  [JavaSignature('android/os/Debug$MemoryInfo')]
  JDebug_MemoryInfo = interface(JObject)
  ['{577F2E29-A53C-4A3C-8548-21F6D6001EF6}']
    { Property Methods }
    function _GetdalvikPrivateDirty: Integer;
    procedure _SetdalvikPrivateDirty(Value: Integer);
    function _GetdalvikPss: Integer;
    procedure _SetdalvikPss(Value: Integer);
    function _GetdalvikSharedDirty: Integer;
    procedure _SetdalvikSharedDirty(Value: Integer);
    function _GetnativePrivateDirty: Integer;
    procedure _SetnativePrivateDirty(Value: Integer);
    function _GetnativePss: Integer;
    procedure _SetnativePss(Value: Integer);
    function _GetnativeSharedDirty: Integer;
    procedure _SetnativeSharedDirty(Value: Integer);
    function _GetotherPrivateDirty: Integer;
    procedure _SetotherPrivateDirty(Value: Integer);
    function _GetotherPss: Integer;
    procedure _SetotherPss(Value: Integer);
    function _GetotherSharedDirty: Integer;
    procedure _SetotherSharedDirty(Value: Integer);
    { Methods }
    // Added in API level 5
    function describeContents: Integer; cdecl;
    // Added in API level 5
    function getTotalPrivateDirty: Integer; cdecl;
    // Added in API level 5
    function getTotalPss: Integer; cdecl;
    // Added in API level 5
    function getTotalSharedDirty: Integer; cdecl;
    // Added in API level 5
    procedure readFromParcel(source: JParcel); cdecl;
    // Added in API level 5
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property dalvikPrivateDirty: Integer read _GetdalvikPrivateDirty write _SetdalvikPrivateDirty;
    property dalvikPss: Integer read _GetdalvikPss write _SetdalvikPss;
    property dalvikSharedDirty: Integer read _GetdalvikSharedDirty write _SetdalvikSharedDirty;
    property nativePrivateDirty: Integer read _GetnativePrivateDirty write _SetnativePrivateDirty;
    property nativePss: Integer read _GetnativePss write _SetnativePss;
    property nativeSharedDirty: Integer read _GetnativeSharedDirty write _SetnativeSharedDirty;
    property otherPrivateDirty: Integer read _GetotherPrivateDirty write _SetotherPrivateDirty;
    property otherPss: Integer read _GetotherPss write _SetotherPss;
    property otherSharedDirty: Integer read _GetotherSharedDirty write _SetotherSharedDirty;
  end;
  TJDebug_MemoryInfo = class(TJavaGenericImport<JDebug_MemoryInfoClass,
    JDebug_MemoryInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.MemoryInfo.html
  Added in API level 1 }
  JActivityManager_MemoryInfoClass = interface(JObjectClass)
  ['{093B391C-56F6-47F9-96A5-CF4F4101F614}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    { Methods }
    function init: JActivityManager_MemoryInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
  end;

  [JavaSignature('android/app/ActivityManager$MemoryInfo')]
  JActivityManager_MemoryInfo = interface(JObject)
  ['{B6B801F7-3E6F-4BF9-9952-8356A7026725}']
    { Property Methods }
    function _GetavailMem: Int64;
    function _GetlowMemory: Boolean;
    function _Getthreshold: Int64;
    function _GettotalMem: Int64;
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property availMem: Int64 read _GetavailMem;
    property lowMemory: Boolean read _GetlowMemory;
    property threshold: Int64 read _Getthreshold;
    // Added in API level 16
    property totalMem: Int64 read _GettotalMem;
  end;
  TJActivityManager_MemoryInfo = class(TJavaGenericImport<JActivityManager_MemoryInfoClass,
    JActivityManager_MemoryInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.ProcessErrorStateInfo.html
  Added in API level 1 }
  JActivityManager_ProcessErrorStateInfoClass = interface(JObjectClass)
  ['{B2DDD02D-B205-4412-89B7-418BC28DA58D}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    function _GetCRASHED: Integer;
    function _GetNOT_RESPONDING: Integer;
    function _GetNO_ERROR: Integer;
    { Methods }
    function init: JActivityManager_ProcessErrorStateInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
    property CRASHED: Integer read _GetCRASHED;
    property NOT_RESPONDING: Integer read _GetNOT_RESPONDING;
    property NO_ERROR: Integer read _GetNO_ERROR;
  end;

  [JavaSignature('android/app/ActivityManager$ProcessErrorStateInfo')]
  JActivityManager_ProcessErrorStateInfo = interface(JObject)
  ['{7406BE27-6395-44F4-8CC7-633375617A2A}']
    { Property Methods }
    function _Getcondition: Integer;
    procedure _Setcondition(Value: Integer);
    function _GetcrashData: TJavaArray<Byte>;
    procedure _SetcrashData(Value: TJavaArray<Byte>);
    function _GetlongMsg: JString;
    procedure _SetlongMsg(Value: JString);
    function _Getpid: Integer;
    procedure _Setpid(Value: Integer);
    function _GetprocessName: JString;
    procedure _SetprocessName(Value: JString);
    function _GetshortMsg: JString;
    procedure _SetshortMsg(Value: JString);
    function _GetstackTrace: JString;
    procedure _SetstackTrace(Value: JString);
    function _Gettag: JString;
    procedure _Settag(Value: JString);
    function _Getuid: Integer;
    procedure _Setuid(Value: Integer);
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property condition: Integer read _Getcondition write _Setcondition;
    property crashData: TJavaArray<Byte> read _GetcrashData write _SetcrashData;
    property longMsg: JString read _GetlongMsg write _SetlongMsg;
    property pid: Integer read _Getpid write _Setpid;
    property processName: JString read _GetprocessName write _SetprocessName;
    property shortMsg: JString read _GetshortMsg write _SetshortMsg;
    // Added in API level 8
    property stackTrace: JString read _GetstackTrace write _SetstackTrace;
    property tag: JString read _Gettag write _Settag;
    property uid: Integer read _Getuid write _Setuid;
  end;
  TJActivityManager_ProcessErrorStateInfo = class(TJavaGenericImport<JActivityManager_ProcessErrorStateInfoClass,
    JActivityManager_ProcessErrorStateInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.RecentTaskInfo.html
  Added in API level 1 }
  JActivityManager_RecentTaskInfoClass = interface(JObjectClass)
  ['{4AE6025B-0BEA-4D81-8E3F-4EC6F7BA8EEF}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    { Methods }
    function init: JActivityManager_RecentTaskInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
  end;

  [JavaSignature('android/app/ActivityManager$RecentTaskInfo')]
  JActivityManager_RecentTaskInfo = interface(JObject)
  ['{02A5EDBF-B7CC-4C63-BACD-0F1A195C6969}']
    { Property Methods }
    function _GetbaseIntent: JIntent;
    procedure _SetbaseIntent(Value: JIntent);
    function _Getdescription: JCharSequence;
    procedure _Setdescription(Value: JCharSequence);
    function _Getid: Integer;
    procedure _Setid(Value: Integer);
    function _GetorigActivity: JComponentName;
    procedure _SetorigActivity(Value: JComponentName);
    function _GetpersistentId: Integer;
    procedure _SetpersistentId(Value: Integer);
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property baseIntent: JIntent read _GetbaseIntent write _SetbaseIntent;
    // Added in API level 11
    property description: JCharSequence read _Getdescription write _Setdescription;
    property id: Integer read _Getid write _Setid;
    property origActivity: JComponentName read _GetorigActivity write _SetorigActivity;
    // Added in API level 12
    property persistentId: Integer read _GetpersistentId write _SetpersistentId;
  end;
  TJActivityManager_RecentTaskInfo = class(TJavaGenericImport<JActivityManager_RecentTaskInfoClass,
    JActivityManager_RecentTaskInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html
  Added in API level 3 }
  JActivityManager_RunningAppProcessInfoClass = interface(JObjectClass)
  ['{F24C0121-C062-4A2B-9363-E97A50E2FC41}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    function _GetIMPORTANCE_BACKGROUND: Integer;
    function _GetIMPORTANCE_EMPTY: Integer;
    function _GetIMPORTANCE_FOREGROUND: Integer;
    function _GetIMPORTANCE_PERCEPTIBLE: Integer;
    function _GetIMPORTANCE_SERVICE: Integer;
    function _GetIMPORTANCE_VISIBLE: Integer;
    function _GetREASON_PROVIDER_IN_USE: Integer;
    function _GetREASON_SERVICE_IN_USE: Integer;
    function _GetREASON_UNKNOWN: Integer;
    { Methods }
    function init: JActivityManager_RunningAppProcessInfo; cdecl; overload;
    function init(pProcessName: JString; pPid: Integer; pArr: TJavaObjectArray<JString>):
      JActivityManager_RunningAppProcessInfo; cdecl; overload;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
    property IMPORTANCE_BACKGROUND: Integer read _GetIMPORTANCE_BACKGROUND;
    property IMPORTANCE_EMPTY: Integer read _GetIMPORTANCE_EMPTY;
    property IMPORTANCE_FOREGROUND: Integer read _GetIMPORTANCE_FOREGROUND;
    // Added in API level 9
    property IMPORTANCE_PERCEPTIBLE: Integer read _GetIMPORTANCE_PERCEPTIBLE;
    property IMPORTANCE_SERVICE: Integer read _GetIMPORTANCE_SERVICE;
    property IMPORTANCE_VISIBLE: Integer read _GetIMPORTANCE_VISIBLE;
    // Added in API level 5
    property REASON_PROVIDER_IN_USE: Integer read _GetREASON_PROVIDER_IN_USE;
    // Added in API level 5
    property REASON_SERVICE_IN_USE: Integer read _GetREASON_SERVICE_IN_USE;
    // Added in API level 5
    property REASON_UNKNOWN: Integer read _GetREASON_UNKNOWN;
  end;

  [JavaSignature('android/app/ActivityManager$RunningAppProcessInfo')]
  JActivityManager_RunningAppProcessInfo = interface(JObject)
  ['{3E72F05C-6CF2-4971-B34B-5FE4C414913D}']
    { Property Methods }
    function _Getimportance: Integer;
    procedure _Setimportance(Value: Integer);
    function _GetimportanceReasonCode: Integer;
    procedure _SetimportanceReasonCode(Value: Integer);
    function _GetimportanceReasonComponent: JComponentName;
    procedure _SetimportanceReasonComponent(Value: JComponentName);
    function _GetimportanceReasonPid: Integer;
    procedure _SetimportanceReasonPid(Value: Integer);
    function _GetlastTrimLevel: Integer;
    procedure _SetlastTrimLevel(Value: Integer);
    function _Getlru: Integer;
    procedure _Setlru(Value: Integer);
    function _Getpid: Integer;
    procedure _Setpid(Value: Integer);
    function _GetpkgList: TJavaObjectArray<JString>;
    procedure _SetpkgList(Value: TJavaObjectArray<JString>);
    function _GetprocessName: JString;
    procedure _SetprocessName(Value: JString);
    function _Getuid: Integer;
    procedure _Setuid(Value: Integer);
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property importance: Integer read _Getimportance write _Setimportance;
    // Added in API level 5
    property importanceReasonCode: Integer read _GetimportanceReasonCode write _SetimportanceReasonCode;
    // Added in API level 5
    property importanceReasonComponent: JComponentName read _GetimportanceReasonComponent write _SetimportanceReasonComponent;
    // Added in API level 5
    property importanceReasonPid: Integer read _GetimportanceReasonPid write _SetimportanceReasonPid;
    // Added in API level 16
    property lastTrimLevel: Integer read _GetlastTrimLevel write _SetlastTrimLevel;
    property lru: Integer read _Getlru write _Setlru;
    property pid: Integer read _Getpid write _Setpid;
    property pkgList: TJavaObjectArray<JString> read _GetpkgList write _SetpkgList;
    property processName: JString read _GetprocessName write _SetprocessName;
    // Added in API level 5
    property uid: Integer read _Getuid write _Setuid;
  end;
  TJActivityManager_RunningAppProcessInfo = class(TJavaGenericImport<JActivityManager_RunningAppProcessInfoClass,
    JActivityManager_RunningAppProcessInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.RunningServiceInfo.html
  Added in API level 1 }
  JActivityManager_RunningServiceInfoClass = interface(JObjectClass)
  ['{8A01CD6D-5177-4F74-A65E-20BAC0B76F0F}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    function _GetFLAG_FOREGROUND: Integer;
    function _GetFLAG_PERSISTENT_PROCESS: Integer;
    function _GetFLAG_STARTED: Integer;
    function _GetFLAG_SYSTEM_PROCESS: Integer;
    { Methods }
    function init: JActivityManager_RunningServiceInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
    // Added in API level 5
    property FLAG_FOREGROUND: Integer read _GetFLAG_FOREGROUND;
    // Added in API level 5
    property FLAG_PERSISTENT_PROCESS: Integer read _GetFLAG_PERSISTENT_PROCESS;
    // Added in API level 5
    property FLAG_STARTED: Integer read _GetFLAG_STARTED;
    // Added in API level 5
    property FLAG_SYSTEM_PROCESS: Integer read _GetFLAG_SYSTEM_PROCESS;
  end;

  [JavaSignature('android/app/ActivityManager$RunningServiceInfo')]
  JActivityManager_RunningServiceInfo = interface(JObject)
  ['{CEECA783-977A-4E16-8907-C4F65F25D168}']
    { Property Methods }
    function _GetactiveSince: Int64;
    procedure _SetactiveSince(Value: Int64);
    function _GetclientCount: Integer;
    procedure _SetclientCount(Value: Integer);
    function _GetclientLabel: Integer;
    procedure _SetclientLabel(Value: Integer);
    function _GetclientPackage: JString;
    procedure _SetclientPackage(Value: JString);
    function _GetcrashCount: Integer;
    procedure _SetcrashCount(Value: Integer);
    function _Getflags: Integer;
    procedure _Setflags(Value: Integer);
    function _Getforeground: Boolean;
    procedure _Setforeground(Value: Boolean);
    function _GetlastActivityTime: Int64;
    procedure _SetlastActivityTime(Value: Int64);
    function _Getpid: Integer;
    procedure _Setpid(Value: Integer);
    function _Getprocess: JString;
    procedure _Setprocess(Value: JString);
    function _Getrestarting: Int64;
    procedure _Setrestarting(Value: Int64);
    function _Getservice: JComponentName;
    procedure _Setservice(Value: JComponentName);
    function _Getstarted: Boolean;
    procedure _Setstarted(Value: Boolean);
    function _Getuid: Integer;
    procedure _Setuid(Value: Integer);
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property activeSince: Int64 read _GetactiveSince write _SetactiveSince;
    property clientCount: Integer read _GetclientCount write _SetclientCount;
    // API level 5
    property clientLabel: Integer read _GetclientLabel write _SetclientLabel;
    // API level 5
    property clientPackage: JString read _GetclientPackage write _SetclientPackage;
    property crashCount: Integer read _GetcrashCount write _SetcrashCount;
    // API level 5
    property flags: Integer read _Getflags write _Setflags;
    property foreground: Boolean read _Getforeground write _Setforeground;
    property lastActivityTime: Int64 read _GetlastActivityTime write _SetlastActivityTime;
    property pid: Integer read _Getpid write _Setpid;
    property process: JString read _Getprocess write _Setprocess;
    property restarting: Int64 read _Getrestarting write _Setrestarting;
    property service: JComponentName read _Getservice write _Setservice;
    property started: Boolean read _Getstarted write _Setstarted;
    // API level 5
    property uid: Integer read _Getuid write _Setuid;
  end;
  TJActivityManager_RunningServiceInfo = class(TJavaGenericImport<JActivityManager_RunningServiceInfoClass,
    JActivityManager_RunningServiceInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.RunningTaskInfo.html
  Added in API level 1 }
  JActivityManager_RunningTaskInfoClass = interface(JObjectClass)
  ['{CB509FD6-FB15-495C-AFE8-DF705BFDD1CB}']
    { Property Methods }
    function _GetCREATOR: JParcelable_Creator;
    { Methods }
    function init: JActivityManager_RunningTaskInfo; cdecl;
    { Properties }
    property CREATOR: JParcelable_Creator read _GetCREATOR;
  end;

  [JavaSignature('android/app/ActivityManager$RunningTaskInfo')]
  JActivityManager_RunningTaskInfo = interface(JObject)
  ['{48B0FF17-C6E7-46A9-8C4E-55186F86CE58}']
    { Property Methods }
    function _GetbaseActivity: JComponentName;
    procedure _SetbaseActivity(Value: JComponentName);
    function _Getdescription: JCharSequence;
    procedure _Setdescription(Value: JCharSequence);
    function _Getid: Integer;
    procedure _Setid(Value: Integer);
    function _GetnumActivities: Integer;
    procedure _SetnumActivities(Value: Integer);
    function _GetnumRunning: Integer;
    procedure _SetnumRunning(Value: Integer);
    function _Getthumbnail: JBitmap;
    procedure _Setthumbnail(Value: JBitmap);
    function _GettopActivity: JComponentName;
    procedure _SettopActivity(Value: JComponentName);
    { Methods }
    function describeContents: Integer; cdecl;
    procedure readFromParcel(source: JParcel); cdecl;
    procedure writeToParcel(dest: JParcel; flags: Integer); cdecl;
    { Properties }
    property baseActivity: JComponentName read _GetbaseActivity write _SetbaseActivity;
    property description: JCharSequence read _Getdescription write _Setdescription;
    property id: Integer read _Getid write _Setid;
    property numActivities: Integer read _GetnumActivities write _SetnumActivities;
    property numRunning: Integer read _GetnumRunning write _SetnumRunning;
    property thumbnail: JBitmap read _Getthumbnail write _Setthumbnail;
    property topActivity: JComponentName read _GettopActivity write _SettopActivity;
  end;
  TJActivityManager_RunningTaskInfo = class(TJavaGenericImport<JActivityManager_RunningTaskInfoClass,
    JActivityManager_RunningTaskInfo>) end;

{ http://developer.android.com/reference/android/app/ActivityManager.html
  Added in API level 1 }
  JActivityManagerClass = interface(JObjectClass)
  ['{DE9F8D5B-3354-4E29-86BA-E47715ECD75B}']
    { Property Methods }
    function _GetMOVE_TASK_NO_USER_ACTION: Integer;
    function _GetMOVE_TASK_WITH_HOME: Integer;
    function _GetRECENT_IGNORE_UNAVAILABLE: Integer;
    function _GetRECENT_WITH_EXCLUDED: Integer;
    { Methods }
    function init: JActivityManager; cdecl;
    // Added in API level 16
    procedure getMyMemoryState(outState: JActivityManager_RunningAppProcessInfo); cdecl;
    // Added in API level 11
    function isRunningInTestHarness: Boolean; cdecl;
    // Added in API level 8
    function isUserAMonkey: Boolean; cdecl;
    { Properties }
    // Added in API level 12
    property MOVE_TASK_NO_USER_ACTION: Integer read _GetMOVE_TASK_NO_USER_ACTION;
    // Added in API level 11
    property MOVE_TASK_WITH_HOME: Integer read _GetMOVE_TASK_WITH_HOME;
    // Added in API level 11
    property RECENT_IGNORE_UNAVAILABLE: Integer read _GetRECENT_IGNORE_UNAVAILABLE;
    property RECENT_WITH_EXCLUDEDread: Integer read _GetRECENT_WITH_EXCLUDED;
  end;

  [JavaSignature('android/app/ActivityManager')]
  JActivityManager = interface(JObject)
  ['{AC5C42D6-E307-41EC-890A-DC846F528B0D}']
    { Methods }
    // Added in API level 3
    function getDeviceConfigurationInfo: JConfigurationInfo; cdecl;
    // Added in API level 11
    function getLargeMemoryClass: Integer; cdecl;
    // Added in API level 11
    function getLauncherLargeIconDensity: Integer; cdecl;
    // Added in API level 11
    function getLauncherLargeIconSize: Integer; cdecl;
    // Added in API level 5
    function getMemoryClass: Integer; cdecl;
    procedure getMemoryInfo(outInfo: JActivityManager_MemoryInfo); cdecl;
    // Added in API level 5
    function getProcessMemoryInfo(pids: TJavaArray<Integer>): TJavaObjectArray<JDebug_MemoryInfo>; cdecl;
    function getProcessesInErrorState: JList{<JActivityManager_ProcessErrorStateInfo>}; cdecl;
    function getRecentTasks(maxNum: Integer; flags: Integer): JList{<JActivityManager_RecentTaskInfo>}; cdecl;
    // Added in API level 3
    function getRunningAppProcesses: JList{<JActivityManager_RunningAppProcessInfo>}; cdecl;
    // Added in API level 5
    function getRunningServiceControlPanel(service: JComponentName): JPendingIntent; cdecl;
    function getRunningServices(maxNum: Integer): JList{<JActivityManager_RunningServiceInfo>}; cdecl;
    function getRunningTasks(maxNum: Integer): JList{<JActivityManager_RunningTaskInfo>}; cdecl;
    // Added in API level 8
    procedure killBackgroundProcesses(packageName: JString); cdecl;
    // Added in API level 16
    procedure moveTaskToFront(taskId: Integer; flags: Integer; options: JBundle); cdecl; overload;
    // Added in API level 11
    procedure moveTaskToFront(taskId: Integer; flags: Integer) cdecl; overload;
    // Added in API level 3
    procedure restartPackage(packageName: JString); cdecl;
  end;
  TJActivityManager = class(TJavaGenericImport<JActivityManagerClass, JActivityManager>) end;

function GetActivityManager: JActivityManager;

implementation

function GetActivityManager: JActivityManager;
var
  LJO: JObject;
begin
  LJO := SharedActivity.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);
  if not Assigned(LJO) then 
    raise Exception.Create('Can not Access Activity Service!')
  else
    Result := TJActivityManager.Wrap((LJO as ILocalObject).GetObjectID);
end;

end.

一个列举正在运行的进程的例子:

procedure ListProcesses;
var
  LJL: JList;
  LIterator: JIterator;
  LJAR: JActivityManager_RunningAppProcessInfo;
begin
  LJL := GetActivityManager.getRunningAppProcesses;
  if Assigned(LJL) then
  begin
    LIterator := LJL.iterator;
    while LIterator.hasNext do
    begin
      LJAR := TJActivityManager_RunningAppProcessInfo.Wrap(
        (LIterator.next as ILocalObject).GetObjectID);
      // ShowMessage(JStringToString(LJAR.processName));
    end;
  end;
end;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196587.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js数组删除某一个元素_删除数组中重复元素

    js数组删除某一个元素_删除数组中重复元素JS删除数组中某一个元素方式一:在Array原型对象上添加删除方法//查找指定的元素在数组中的位置 Array.prototype.indexOf=function(val){ for(vari=0;i<this.length;i++){if(this[i]==val){…

    2022年10月1日
    3
  • Linux终端删除文件夹命令「建议收藏」

    Linux终端删除文件夹命令「建议收藏」前言本文介绍Linux系统中删除文件夹的命令,包括:rmdir、rm。Linux系统下删除文件夹是一个非常高频的需求,有很多方法可以删除文件夹,比如使用图形界面,或者通过终端删除。本文将介绍在Linux命令行下使用命令删除文件夹。1.使用rmdir命令删除文件夹rmdir命令是英文单词removedirectory的缩写,主要作用是删除文件夹。但是请注意,该命令只能用于删除空文件夹,而如果文件夹非空的话,将会报错。$rmdirdatarmdir:fai..

    2022年7月13日
    41
  • 旅游吧

    旅游吧生活在城市里的人,都习惯了朝九晚五的生活……每天思想被缩进在身体里,把所有的不如意压抑下去,即使可以大发雷霆,但还是要循规蹈矩的奔上那开往公司的公车……每个跳跃的灵魂被催眠了,换而代之的则是慢慢下垂的累眼……每人都在自己的座位上,无数次的敲打着键盘,习惯了这个习惯的动作,习惯了这个习惯的声音,习惯了这个习惯的频率……在这个北京的大都市,北漂随处可见,想想那在农村,从村头喊一声传到村

    2022年6月12日
    61
  • C++旅游管理系统

    C++旅游管理系统C++旅游管理系统https://download.csdn.net/download/fuck11111/3364686

    2022年6月9日
    38
  • java中中文显示乱码_java中显示中文乱码解决方法

    java中中文显示乱码_java中显示中文乱码解决方法java显示乱码解决方法:1、utf8解决JSP中文乱码问题一般说来在每个页面的开始处,加入:charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;pageEncoding=”UTF-8″,为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;request.setCharacterEncoding(“UTF-8”);是对请求进行了中文编码。有…

    2022年7月7日
    27
  • spdlog开源库使用

    spdlog开源库使用spdlogspdlog是一个非常简单快速的日志库。到现在为止仅仅简单尝试了一下,使用体验比较满意。这里推荐一下。下面是开源库的源地址:源地址安装$gitclonehttps://github.com/gabime/spdlog.git$cdspdlog&&mkdirbuild&&cdbuild$cmake..&&make-j安装也非常简单,只有三条命令。支持的系统Linux,FreeBSD,OpenBS

    2022年6月23日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号