나는 하나의 application.In에서 나는 백그라운드 실행 applicaiton의 목록을 얻기위한 아래의 코드를 작성했습니다 개발하고 있습니다.어떻게 모든 실행중인 애플 리케이션 정보를 얻을 수 있습니다
- (NSArray *)runningProcesses {
@try {
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0};
size_t miblen = 4;
size_t size;
int st= sysctl(mib, miblen, NULL, &size, NULL, 0);
struct kinfo_proc * process = NULL;
struct kinfo_proc * newprocess = NULL;
do {
size += size/ 10;
newprocess = realloc(process, size);
if (!newprocess){
if (process){
free(process);
}
return nil;
}
process = newprocess;
st = sysctl(mib, miblen, process, &size, NULL, 0);
} while (st == -1 && errno == ENOMEM);
if (st == 0){
if (size % sizeof(struct kinfo_proc) == 0){
int nprocess = size/sizeof(struct kinfo_proc);
if (nprocess){
NSMutableArray *array = [[NSMutableArray alloc]init];
BOOL Found=NO;
for (int i = nprocess - 1; i >= 0; i--){
NSString * processID = [[NSString alloc] initWithFormat:@"%d", process[i].kp_proc.p_pid];
NSString * processName = [[NSString alloc] initWithFormat:@"%s", process[i].kp_proc.p_comm];
[array addObject:processName];
[processID release];
[processName release];
//[array addObject:dict];
//[dict release];
}
free(process);
return [array autorelease];
}
}
}
return nil;
}
@catch (NSException *ex)
{
NSLog(@"Exception is %@",ex);
return nil;
}
가}
그것은 information.For 예제 응용 프로그램을 제공합니다, 그것은 내가이 코드를 실행 시간 후 등 앵그리 버드 템플 런, 스카이프, 같은 응용 프로그램 정보를 제공,이 앱 목록으로 제공 skype only.But 나머지 애플 리케이션은 애플 리케이션 목록을 실행하는 모바일 배경에 나타납니다. 모바일 백그라운드 실행 응용 프로그램 목록에서 실행중인 모든 앱 목록을 가져 오는 방법을 알려주십시오.
10 분이 지 않아도 OS가 이러한 리소스를 필요로 할 때마다 발생합니다. 몇 초가 될 수도 있고, 몇 시간 일 수도 ... –