Если кому-то потребуется, то код для C++, как я сделал
_di_JActivity activity = TAndroidHelper::Activity;
TJavaObjectArray__1<_di_JString> *Recipients = new TJavaObjectArray__1<_di_JString>(1);
Recipients->Items[0] = StringToJString("android.permission.READ_EXTERNAL_STORAGE");
Recipients->Items[1] = StringToJString("android.permission.WRITE_EXTERNAL_STORAGE");
activity->requestPermissions(Recipients,0);
Не думаю, что удастся победить данный эффект. Поскольку мерцание связано с тем, что андроид не сразу выдает графический контекст, а делает это несколько раз. На каждое изменение контекста, FMX пересоздает свой контекст и выполняет инициализацию и иногда отрисовку. Именно по этому вы и наблюдаете этот эффект.