2016-07-13 1 views
1

사용자가 크롬 앱을 종료하지 못하게하는 방법을 Google의 문서에서 볼 수 없습니다. 누구든지이 일을 성취 할 길을 찾았습니까? onSuspend 이벤트에 대한 문서에 단서가 있다고 생각합니다. It says - 일시 중지가 어떤 이유로 든 중단되지 않는 한, 일시 중지를받은 후에 더 이상의 이벤트가 앱에 전달되지 않습니다.Google 크롬 앱을 닫지 못하게 할 수 있습니까?

일시 중지를 어떻게 취소 할 수 있습니까?

+0

@wOxxOm 키오스크 앱의 경우 합리적인 요구 사항 인 것 같습니다. – Ian

+0

'onSuspend'는 모든 창을 닫은 후에 앱의 배경 페이지를 종료하는 것과 관련이 있습니다. 대신 앱의 창을 열어 놓고 싶다고 가정합니다. – Xan

+0

@Xan 그렇습니다. 나는 그것을하고 싶습니다. 앱 폐쇄 프로세스를 가로 채고 중단하려고합니다. – Ian

답변

0

일부 이벤트는 onSuspendCancel을 트리거 할 수 있습니다. 모든 URL에 새로운 XMLHttpRequest를 만드는 것이 트릭을 수행한다는 것을 알았습니다. chrome.runtime.reload를 호출하여 앱을 새로 시작할 수도 있습니다. 그것은 지속적인 청취 소켓, 또는 런타임 메시지 또는 구글 클라우드 메시지 중 하나와 함께 깨울 수 있기 때문에 일반적으로

당신이 만약, 정지에서 배경 페이지를 방지 할 필요가 없을 것 단지 사용자가 응용 프로그램 창을 닫지 못하도록하고 싶다면 사용자 정의 응용 프로그램 창 프레임을 구현하고 예를 들어 control-w를 가로채는 것 외에는 이렇게 할 방법이 없습니다. 창 컨텍스트 외부에서 작업 또는 응용 프로그램 상태를 저장하면됩니다 (이 작업을 수행하기에 너무 어렵지 않아야 함). 따라서 창을 예기치 않게 종료 한 경우에도 작업 컨텍스트 또는 응용 프로그램 상태를 유지할 수 있습니다.

+0

"일부 이벤트"가 onSuspendCancel을 트리거하고 동료가 그 사실을 발견했기 때문에이 대답을 수락했습니다. Google이이를 적절하게 문서화 한 것은 좋을 것입니다. 나는이 모든 사건들이 무엇인지 알고 싶습니다. – Ian

+0

나는 이것을 알고 싶다. 보류 콜백 등이 없을 때 onSuspend가 트리거된다는 설명서가 있지만 onSuspend가 보류중인 콜백 등에도 불구하고 트리거된다는 것을 알았습니다. 따라서 onSuspend를 트리거하는 다른 조건 (예 : RAM이 부족합니까?)이 명확하게 있습니다. XHR은 onSuspendCancel을 트리거하는 방법을 알고있는 유일한 방법이며 몇 가지 시도를했습니다. – kzahel

+0

당신은 이것에 흥미있을 것입니다. http://stackoverflow.com/questions/38372469/chrome-app-window-onclosed-not-fired-when-process-ended-from-task-manager-goog/38373504#38373504 – Ian