1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Android: do quit the app when calling JUCEApplicationBase::quit(), rather than just placing it in the background (same as on iOS).

This commit is contained in:
Lukasz Kozakiewicz 2018-01-31 18:26:06 +01:00
parent 3237d50f0e
commit c90835eafc
2 changed files with 17 additions and 1 deletions

View file

@ -156,7 +156,19 @@ void MessageManager::stopDispatchLoop()
void messageCallback() override
{
android.activity.callVoidMethod (JuceAppActivity.finish);
auto* env = getEnv();
jmethodID quitMethod = env->GetMethodID (JuceAppActivity, "finishAndRemoveTask", "()V");
if (quitMethod != 0)
{
env->CallVoidMethod (android.activity, quitMethod);
return;
}
quitMethod = env->GetMethodID (JuceAppActivity, "finish", "()V");
jassert (quitMethod != 0);
env->CallVoidMethod (android.activity, quitMethod);
}
};

View file

@ -100,6 +100,10 @@ JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, quitApp, void, (JNIEnv* env,
JUCEApplicationBase::appWillTerminateByForce();
android.shutdown (env);
jclass systemClass = (jclass) env->FindClass ("java/lang/System");
jmethodID exitMethod = env->GetStaticMethodID (systemClass, "exit", "(I)V");
env->CallStaticVoidMethod (systemClass, exitMethod, 0);
}
JUCE_JNI_CALLBACK (JUCE_ANDROID_ACTIVITY_CLASSNAME, appActivityResult, void, (JNIEnv* env, jobject, jint requestCode, jint resultCode, jobject intentData))