6
어떤 애플리케이션이 시작되고 전경으로 이동되는지를 청취 할 백그라운드 애플리케이션을 만들고 싶습니다.BlackBerry - 백그라운드 애플리케이션이 시작 및 전경 애플리케이션을 시작합니다.
답장을 보내주십시오. 질문이 명확하지 않은 경우 다시 설명하겠습니다.
감사
어떤 애플리케이션이 시작되고 전경으로 이동되는지를 청취 할 백그라운드 애플리케이션을 만들고 싶습니다.BlackBerry - 백그라운드 애플리케이션이 시작 및 전경 애플리케이션을 시작합니다.
답장을 보내주십시오. 질문이 명확하지 않은 경우 다시 설명하겠습니다.
감사
이것은 당신이 무엇을 할 수 있습니다 :
이 작업은 TimerTask에 정의 된 기간이 있음
답장을 보내 주셔서public class AppListenerApp extends Application {
int mForegroundProcessId = -1;
public AppListenerApp() {
Timer timer = new Timer();
timer.schedule(mCheckForeground, 2000, 2000);
}
public static void main(String[] args) {
AppListenerApp app = new AppListenerApp();
app.enterEventDispatcher();
}
TimerTask mCheckForeground = new TimerTask() {
public void run() {
int id = getForegroungProcessID();
if(id != mForegroundProcessId)
{
mForegroundProcessId = id;
String name =
getAppNameByProcessId(mForegroundProcessId);
showMessage(name);
}
};
};
private int getForegroungProcessID() {
return ApplicationManager.getApplicationManager()
.getForegroundProcessId();
}
private String getAppNameByProcessId(int id) {
String result = null;
ApplicationManager appMan =
ApplicationManager.getApplicationManager();
ApplicationDescriptor appDes[] =
appMan.getVisibleApplications();
for (int i = 0; i < appDes.length; i++) {
if (appMan.getProcessId(appDes[i]) == id) {
result = appDes[i].getName();
break;
}
}
return result;
}
private void showMessage(String message) {
synchronized (Application.getEventLock()) {
Dialog dlg = new Dialog(Dialog.D_OK, message,
Dialog.OK, null, Manager.FIELD_HCENTER);
Ui.getUiEngine()
.pushGlobalScreen(dlg, 1, UiEngine.GLOBAL_QUEUE);
}
}
}
감사합니다 ... 오히려 다음이 어떤 리스너 API 또는 우리가 현재 호출 된 전경 응용 프로그램을 얻을 것이다 통해 이벤트 의 모든 종류가 있습니다. –
애플리케이션 인 경우 언제든지 http://www.blackberry.com/developers/docs/4.5.0api/net/rim/device/api/system/Application.html#activate%28%29 이벤트를 사용할 수 있습니다. 다른 경우에는 옵션이 없습니다. –
답장을 보내 주셔서 감사합니다. –