本文整理自网络,侵删。
function SharedActivityManager: JActivityManager;
var
AService: JObject;
begin
AService := SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);
Result := TJActivityManager.Wrap((AService as ILocalObject).GetObjectID);
end;
function IsAppActive(AName:JString):Boolean;
var
AList:JList;
AProcess:JActivityManager_RunningAppProcessInfo;
//AName:JString;
AIterator:JIterator;
begin
AList:=SharedActivityManager.getRunningAppProcesses;
//AName:=SharedActivityContext.getPackageName;
Result:=False;
if Assigned(AList) then
begin
AIterator:=AList.iterator;
while AIterator.hasNext do
begin
AProcess:=TJActivityManager_RunningAppProcessInfo.Wrap((AIterator.next as ILocalObject).GetObjectID);
if AProcess.processName.equals(AName) then
begin
if (AProcess.importance=TJActivityManager_RunningAppProcessInfo.JavaClass.IMPORTANCE_FOREGROUND)or (AProcess.importance=TJActivityManager_RunningAppProcessInfo.JavaClass.IMPORTANCE_BACKGROUND) then
begin
Result:=True;
Break;
end;
end;
end;
end;
end;
procedure TformMain.Button2Click(Sender: TObject);
var
b:Boolean;
begin
b:= IsAppActive(StringToJString(txtfind.Text));
if b then
ShowMessage('存在')
else
ShowMessage('不存在');
end;
相关阅读 >>
Delphi try except与try finally不同之处
Delphi d10.x 并行库ppl编程之 futures
更多相关阅读请进入《Delphi》频道 >>