Событие OnRenderProcessGone в Android Java плагине для Unity - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь реализовать android API обработки завершения для WebView в проекте Unity. Я создал плагин java, который переопределяет функцию OnRenderProcessDestroyed из WebClient.

Я вызываю функцию через C#, могу создать ее экземпляр, инициализировать ее и передать ей текущий UnityAndroidActivity. Однако OnRenderProcessDestroyed никогда не вызывается при принудительном использовании WebView cra sh.

public class WebViewCrashHandler extends WebViewClient {

private Activity m_unityActivity;

@SuppressLint("StaticFieldLeak")
private static WebViewCrashHandler s_instance = null;

public static WebViewCrashHandler Instance(){
    Log.e("MY_APP_TAG","PLUGIN INSTANCE CREATED");
    if (s_instance == null)
        s_instance = new WebViewCrashHandler();
    return s_instance;
}

public void Initialise(Activity a) {
    Log.e("MY_APP_TAG", "PLUGIN INITIALISED");
    m_unityActivity = a;
}

@Override
public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail){
    super.onRenderProcessGone(view, detail);
    Log.e("MY_APP_TAG", "onRenderProcessGone triggered!");

    if (!detail.didCrash()){
        //Destroy view
        //Recreate view
    }
    //Renderer crashed because of an internal error, such as memory access violation.
    Log.e("MY_APP_TAG", "The WebView rendering process crashed!");

    return false;
}

}

ВОПРОС:

Из прочтения документации по onRenderProcessDestroyed и его параметров Я понимаю, что он вызывает автоматически, когда процесс рендеринга уничтожен. Однако означает ли наличие события в плагине, что оно не будет запущено? Любая идея, где я мог бы пойти не так здесь.

Спасибо.

...